org.deri.iris.builtins
Class AddBuiltin

java.lang.Object
  extended by org.deri.iris.builtins.AbstractBuiltin
      extended by org.deri.iris.builtins.ArithmeticBuiltin
          extended by org.deri.iris.builtins.AddBuiltin
All Implemented Interfaces:
Comparable<IAtom>, IAtom, IBuiltinAtom
Direct Known Subclasses:
AddDayTimeDurationToDateBuiltin, AddDayTimeDurationToDateTimeBuiltin, AddDayTimeDurationToTimeBuiltin, AddYearMonthDurationToDateBuiltin, AddYearMonthDurationToDateTimeBuiltin, DayTimeDurationAddBuiltin, NumericAddBuiltin, YearMonthDurationAddBuiltin

public class AddBuiltin
extends ArithmeticBuiltin

Represents an add operation. At evaluation time there must be only one variable left for computation, otherwise an exception will be thrown.

Version:
$Revision: 1.15 $
Author:
Richard P??ttler, richard dot poettler at deri dot org

Field Summary
 
Fields inherited from class org.deri.iris.builtins.AbstractBuiltin
EMPTY_TERM
 
Constructor Summary
protected AddBuiltin(IPredicate predicate, ITerm... terms)
          Construct a new AddBuiltin for the specific predicate and terms.
  AddBuiltin(ITerm... t)
          Constructor.
 
Method Summary
protected  ITerm computeMissingTerm(int missingTermIndex, ITerm[] terms)
          Compute the missing term when the other two are known.
 
Methods inherited from class org.deri.iris.builtins.ArithmeticBuiltin
evaluateTerms, maxUnknownVariables, testForEquality
 
Methods inherited from class org.deri.iris.builtins.AbstractBuiltin
compareTo, equals, evaluate, getPredicate, getTuple, hashCode, isBuiltin, isGround, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AddBuiltin

protected AddBuiltin(IPredicate predicate,
                     ITerm... terms)
Construct a new AddBuiltin for the specific predicate and terms.

Parameters:
predicate - The predicate of the built-in.
terms - The terms.
Throws:
NullPointerException - If the predicate or one of the terms is null.
IllegalArgumentException - If the length of the terms and the arity of the predicate do not match.

AddBuiltin

public AddBuiltin(ITerm... t)
Constructor. Three terms must be passed to the constructor, otherwise an exception will be thrown.

Parameters:
t - the terms
Throws:
NullPointerException - If the predicate or one of the terms is null.
IllegalArgumentException - If the length of the terms and the arity of the predicate do not match.
Method Detail

computeMissingTerm

protected ITerm computeMissingTerm(int missingTermIndex,
                                   ITerm[] terms)
Description copied from class: ArithmeticBuiltin
Compute the missing term when the other two are known.

Specified by:
computeMissingTerm in class ArithmeticBuiltin
terms - The collection of all terms.
Returns:
The computed value.