org.deri.iris.builtins.string
Class StringConcatBuiltin

java.lang.Object
  extended by org.deri.iris.builtins.AbstractBuiltin
      extended by org.deri.iris.builtins.FunctionalBuiltin
          extended by org.deri.iris.builtins.string.StringConcatBuiltin
All Implemented Interfaces:
Comparable<IAtom>, IAtom, IBuiltinAtom

public class StringConcatBuiltin
extends FunctionalBuiltin

Represents the RIF built-in func:concat as defined in http://www.w3.org/2005 /rules/wiki/DTB#func:concat_.28adapted_from_fn:concat.29.


Field Summary
 
Fields inherited from class org.deri.iris.builtins.AbstractBuiltin
EMPTY_TERM
 
Constructor Summary
StringConcatBuiltin(ITerm... terms)
          Constructor.
 
Method Summary
protected  ITerm computeResult(ITerm[] terms)
          Computes the result when all terms but the term at the last position are known.
 
Methods inherited from class org.deri.iris.builtins.FunctionalBuiltin
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

StringConcatBuiltin

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

Parameters:
terms - The terms.
Throws:
IllegalArgumentException - If one of the terms is null.
IllegalArgumentException - If the number of terms submitted is not 3.
IllegalArgumentException - If terms is null.
Method Detail

computeResult

protected ITerm computeResult(ITerm[] terms)
                       throws EvaluationException
Description copied from class: FunctionalBuiltin
Computes the result when all terms but the term at the last position are known.

Specified by:
computeResult in class FunctionalBuiltin
Parameters:
terms - The terms, where the terms at the last position is a variable representing the result.
Returns:
The computed term, or null if the operation is unsuccessful.
Throws:
EvaluationException - If an error occurs.