org.deri.iris.builtins.string
Class StringSubstringBuiltin

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

public class StringSubstringBuiltin
extends FunctionalBuiltin

Represents a string substring operation.

Author:
gigi, Adrian Marte

Field Summary
 
Fields inherited from class org.deri.iris.builtins.AbstractBuiltin
EMPTY_TERM
 
Constructor Summary
StringSubstringBuiltin(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

StringSubstringBuiltin

public StringSubstringBuiltin(ITerm... terms)
Constructor.

Parameters:
terms - The terms, where the first term is the string, the second term is the begin index, the third term is the endIndex and the fourth term represents the result.
Throws:
IllegalArgumentException - if one of the 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.