org.deri.iris.api.builtins
Interface IBuiltinAtom

All Superinterfaces:
Comparable<IAtom>, IAtom
All Known Implementing Classes:
AbstractBuiltin, AddBuiltin, AddDayTimeDurationToDateBuiltin, AddDayTimeDurationToDateTimeBuiltin, AddDayTimeDurationToTimeBuiltin, AddYearMonthDurationToDateBuiltin, AddYearMonthDurationToDateTimeBuiltin, ArithmeticBuiltin, BooleanBuiltin, BooleanEqualBuiltin, BooleanGreaterBuiltin, BooleanLessBuiltin, BooleanNotBuiltin, ConversionBuiltin, DateEqualBuiltin, DateGreaterBuiltin, DateGreaterEqualBuiltin, DateLessBuiltin, DateLessEqualBuiltin, DateNotEqualBuiltin, DateSubtractBuiltin, DateTimeEqualBuiltin, DateTimeGreaterBuiltin, DateTimeGreaterEqualBuiltin, DateTimeLessBuiltin, DateTimeLessEqualBuiltin, DateTimeNotEqualBuiltin, DateTimeSubtractBuiltin, DayFromDateBuiltin, DayFromDateTimeBuiltin, DayPartBuiltin, DaysFromDurationBuiltin, DayTimeDurationAddBuiltin, DayTimeDurationDivideBuiltin, DayTimeDurationDivideByDayTimeDurationBuiltin, DayTimeDurationGreaterBuiltin, DayTimeDurationGreaterEqualBuiltin, DayTimeDurationLessBuiltin, DayTimeDurationLessEqualBuiltin, DayTimeDurationMultiplyBuiltin, DayTimeDurationSubtractBuiltin, DivideBuiltin, DurationEqualBuiltin, DurationNotEqualBuiltin, EqualBuiltin, ExactEqualBuiltin, FalseBuiltin, FunctionalBuiltin, GreaterBuiltin, GreaterEqualBuiltin, HourPartBuiltin, HoursFromDateTimeBuiltin, HoursFromDurationBuiltin, HoursFromTimeBuiltin, IriStringBuiltin, IsAnyURIBuiltin, IsBase64BinaryBuiltin, IsBooleanBuiltin, IsByteBuiltin, IsDatatypeBuiltin, IsDateBuiltin, IsDateTimeBuiltin, IsDateTimeStampBuiltin, IsDayTimeDurationBuiltin, IsDecimalBuiltin, IsDoubleBuiltin, IsDurationBuiltin, IsFloatBuiltin, IsGDayBuiltin, IsGMonthBuiltin, IsGMonthDayBuiltin, IsGYearBuiltin, IsGYearMonthBuiltin, IsHexBinaryBuiltin, IsIDBuiltin, IsIDREFBuiltin, IsIntBuiltin, IsIntegerBuiltin, IsIriBuiltin, IsLanguageBuiltin, IsLongBuiltin, IsNameBuiltin, IsNCNameBuiltin, IsNegativeIntegerBuiltin, IsNMTOKENBuiltin, IsNonNegativeIntegerBuiltin, IsNonPositiveIntegerBuiltin, IsNormalizedStringBuiltin, IsNotAnyURIBuiltin, IsNOTATIONBuiltin, IsNotBase64BinaryBuiltin, IsNotBooleanBuiltin, IsNotByteBuiltin, IsNotDatatypeBuiltin, IsNotDateBuiltin, IsNotDateTimeBuiltin, IsNotDateTimeStampBuiltin, IsNotDayTimeDurationBuiltin, IsNotDecimalBuiltin, IsNotDoubleBuiltin, IsNotDurationBuiltin, IsNotFloatBuiltin, IsNotGDayBuiltin, IsNotGMonthBuiltin, IsNotGMonthDayBuiltin, IsNotGYearBuiltin, IsNotGYearMonthBuiltin, IsNotHexBinaryBuiltin, IsNotIDBuiltin, IsNotIDREFBuiltin, IsNotIntBuiltin, IsNotIntegerBuiltin, IsNotIriBuiltin, IsNotLanguageBuiltin, IsNotLongBuiltin, IsNotNameBuiltin, IsNotNCNameBuiltin, IsNotNegativeIntegerBuiltin, IsNotNMTOKENBuiltin, IsNotNonNegativeIntegerBuiltin, IsNotNonPositiveIntegerBuiltin, IsNotNormalizedStringBuiltin, IsNotNOTATIONBuiltin, IsNotNumericBuiltin, IsNotPlainLiteralBuiltin, IsNotPositiveIntegerBuiltin, IsNotQNameBuiltin, IsNotShortBuiltin, IsNotSqNameBuiltin, IsNotStringBuiltin, IsNotTimeBuiltin, IsNotTokenBuiltin, IsNotUnsignedByteBuiltin, IsNotUnsignedIntBuiltin, IsNotUnsignedLongBuiltin, IsNotUnsignedShortBuiltin, IsNotXMLLiteralBuiltin, IsNotYearMonthDurationBuiltin, IsNumericBuiltin, IsPlainLiteralBuiltin, IsPositiveIntegerBuiltin, IsQNameBuiltin, IsShortBuiltin, IsSqNameBuiltin, IsStringBuiltin, IsTimeBuiltin, IsTokenBuiltin, IsUnsignedByteBuiltin, IsUnsignedIntBuiltin, IsUnsignedLongBuiltin, IsUnsignedShortBuiltin, IsXMLLiteralBuiltin, IsYearMonthDurationBuiltin, LangFromPlainLiteralBuiltin, LessBuiltin, LessEqualBuiltin, MaxBuiltin, MinutePartBuiltin, MinutesFromDateTimeBuiltin, MinutesFromDurationBuiltin, MinutesFromTimeBuiltin, ModulusBuiltin, MonthFromDateBuiltin, MonthFromDateTimeBuiltin, MonthPartBuiltin, MonthsFromDurationBuiltin, MultiplyBuiltin, NotEqualBuiltin, NotExactEqualBuiltin, NumericAddBuiltin, NumericDivideBuiltin, NumericEqualBuiltin, NumericGreaterBuiltin, NumericGreaterEqualBuiltin, NumericIntegerDivideBuiltin, NumericLessBuiltin, NumericLessEqualBuiltin, NumericModulusBuiltin, NumericMultiplyBuiltin, NumericNotEqualBuiltin, NumericSubtractBuiltin, PlainLiteralCompareBuiltin, PlainLiteralFromStringBuiltin, PlainLiteralFromStringLangBuiltin, PlainLiteralLengthBuiltin, RegexBuiltin, SameTypeBuiltin, SecondPartBuiltin, SecondsFromDateTimeBuiltin, SecondsFromDurationBuiltin, SecondsFromTimeBuiltin, StringCompareBuiltin, StringConcatBuiltin, StringContainsBuiltin, StringContainsWithoutCollationBuiltin, StringEndsWithBuiltin, StringEndsWithWithoutCollationBuiltin, StringEscapeHtmlUriBuiltin, StringFromPlainLiteralBuiltin, StringIriToUriBuiltin, StringJoinBuiltin, StringLengthBuiltin, StringMatchesBuiltin, StringMatchesWithoutFlagsBuiltin, StringReplaceBuiltin, StringReplaceWithoutFlagsBuiltin, StringStartsWithBuiltin, StringStartsWithWithoutCollationBuiltin, StringSubstringAfterBuiltin, StringSubstringAfterWithoutCollationBuiltin, StringSubstringBeforeBuiltin, StringSubstringBeforeWithoutCollationBuiltin, StringSubstringBuiltin, StringSubstringUntilEndBuiltin, StringToLowerBuiltin, StringToUpperBuiltin, StringUriEncodeBuiltin, SubtractBuiltin, SubtractDayTimeDurationFromDateBuiltin, SubtractDayTimeDurationFromDateTimeBuiltin, SubtractDayTimeDurationFromTimeBuiltin, SubtractYearMonthDurationFromDateBuiltin, SubtractYearMonthDurationFromDateTimeBuiltin, TimeEqualBuiltin, TimeGreaterBuiltin, TimeGreaterEqualBuiltin, TimeLessBuiltin, TimeLessEqualBuiltin, TimeNotEqualBuiltin, TimeSubtractBuiltin, TimezoneFromDateBuiltin, TimezoneFromDateTimeBuiltin, TimezoneFromTimeBuiltin, TimezonePartBuiltin, ToBase64Builtin, ToBooleanBuiltin, ToDateBuiltin, ToDateTimeBuiltin, ToDayTimeDurationBuiltin, ToDecimalBuiltin, ToDoubleBuiltin, ToDurationBuiltin, ToFloatBuiltin, ToGDayBuiltin, ToGMonthBuiltin, ToGMonthDayBuiltin, ToGYearBuiltin, ToGYearMonthBuiltin, ToHexBinaryBuiltin, ToIntegerBuiltin, ToIriBuiltin, ToPlainLiteralBuiltin, ToStringBuiltin, ToTimeBuiltin, ToXMLLiteralBuiltin, ToYearMonthDurationBuiltin, TrueBuiltin, XMLLiteralEqualBuiltin, XMLLiteralNotEqualBuiltin, YearFromDateBuiltin, YearFromDateTimeBuiltin, YearMonthDurationAddBuiltin, YearMonthDurationDivideBuiltin, YearMonthDurationDivideByYearMonthDurationBuiltin, YearMonthDurationGreaterBuiltin, YearMonthDurationGreaterEqualBuiltin, YearMonthDurationLessBuiltin, YearMonthDurationLessEqualBuiltin, YearMonthDurationMultiplyBuiltin, YearMonthDurationSubtractBuiltin, YearPartBuiltin, YearsFromDurationBuiltin

public interface IBuiltinAtom
extends IAtom

Defines a Builtin.

$Id: IBuiltInAtom.java,v 1.11 2007-10-19 13:27:39 bazbishop237 Exp $

Version:
$Revision: 1.11 $
Author:
Darko Anicic, DERI Innsbruck, Richard P??ttler, richard dot poettler at deri dot org

Method Summary
 ITuple evaluate(ITuple t)
           Runs the evaluation.
 int maxUnknownVariables()
          The maximum number of unknown variables allowed such that the predicate can still be evaluated.
 
Methods inherited from interface org.deri.iris.api.basics.IAtom
getPredicate, getTuple, isBuiltin, isGround
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

evaluate

ITuple evaluate(ITuple t)
                throws EvaluationException

Runs the evaluation.

This method takes as input a tuple for which it should run the evaluation. The tuple must contain the substitutes for the variables of this built-in at the corresponding position. Substitutes where this built-in already has a constant might be ignored.

The returned tuple contains the calculated substitutions for the remaining variables (after replacing the variables with the passed in constants) in the built-in in the order their variables appear in the built-in. If there are no variables left to calculate the built-in will check the correctness of the terms and return a tuple containing all constants if it is correct, otherwise null. For example if you evaluate 4 + X = 9 you would get back <5>. The only difference are the binary built-ins: For a binary built-in if you try to evaluate 3 < 4 you will get back <3, 4>, but if you try to evaluate 3 < 2 you will get back null.

Parameters:
t - the substitutes for the variables of the builtin
Returns:
the calculated constants or null if the built-in isn't evaluable
Throws:
EvaluationException
IllegalArgumentException - if the built-in couldn't be evaluated
NullPointerException - if the collection was null

maxUnknownVariables

int maxUnknownVariables()
The maximum number of unknown variables allowed such that the predicate can still be evaluated.

Returns:
The maximum number of unknown variables.