org.deri.iris.builtins
Class BooleanBuiltin

java.lang.Object
  extended by org.deri.iris.builtins.AbstractBuiltin
      extended by org.deri.iris.builtins.BooleanBuiltin
All Implemented Interfaces:
Comparable<IAtom>, IAtom, IBuiltinAtom
Direct Known Subclasses:
BooleanNotBuiltin, FalseBuiltin, GreaterBuiltin, GreaterEqualBuiltin, 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, LessBuiltin, LessEqualBuiltin, NotEqualBuiltin, NotExactEqualBuiltin, RegexBuiltin, SameTypeBuiltin, StringContainsBuiltin, StringContainsWithoutCollationBuiltin, StringEndsWithBuiltin, StringEndsWithWithoutCollationBuiltin, StringMatchesBuiltin, StringMatchesWithoutFlagsBuiltin, StringStartsWithBuiltin, StringStartsWithWithoutCollationBuiltin, TrueBuiltin

public abstract class BooleanBuiltin
extends AbstractBuiltin

Base class of all boolean built-in predicates. This kind of built-in ... a) can have any arity b) can only be evaluated when all the terms are known (i.e. no unknown variables) c) evaluates to true or false


Field Summary
 
Fields inherited from class org.deri.iris.builtins.AbstractBuiltin
EMPTY_TERM
 
Constructor Summary
BooleanBuiltin(IPredicate predicate, ITerm... terms)
          Constructor.
 
Method Summary
protected abstract  boolean computeResult(ITerm[] terms)
          Compute the result of the comparison.
protected  ITerm evaluateTerms(ITerm[] terms, int[] variableIndexes)
          Evaluate the predicate once the terms and variable indexes have been found.
 
Methods inherited from class org.deri.iris.builtins.AbstractBuiltin
compareTo, equals, evaluate, getPredicate, getTuple, hashCode, isBuiltin, isGround, maxUnknownVariables, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BooleanBuiltin

public BooleanBuiltin(IPredicate predicate,
                      ITerm... terms)
Constructor.

Parameters:
predicate - The predicate for this built-in.
terms - The collection of terms, must be length 2 for comparisons.
Method Detail

evaluateTerms

protected ITerm evaluateTerms(ITerm[] terms,
                              int[] variableIndexes)
Description copied from class: AbstractBuiltin
Evaluate the predicate once the terms and variable indexes have been found.

Overrides:
evaluateTerms in class AbstractBuiltin
Parameters:
terms - The array of all terms for this evaluation.
variableIndexes - the indexes of the terms which should be computed (starting at 0)
Returns:
The result of the evaluation.

computeResult

protected abstract boolean computeResult(ITerm[] terms)
Compute the result of the comparison.

Parameters:
terms - The terms
Returns:
The result of the comparison.