org.apache.commons.jxpath.ri.compiler
Class CoreFunction

java.lang.Object
  extended byorg.apache.commons.jxpath.ri.compiler.Expression
      extended byorg.apache.commons.jxpath.ri.compiler.Operation
          extended byorg.apache.commons.jxpath.ri.compiler.CoreFunction

public class CoreFunction
extends Operation

An element of the compile tree representing one of built-in functions like "position()" or "number()".

Version:
$Revision: 1.16 $ $Date: 2004/04/01 02:53:45 $
Author:
Dmitri Plotnikov

Nested Class Summary
 
Nested classes inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
 
Field Summary
private  int functionCode
           
private static java.lang.Double ZERO
           
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Operation
args
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE
 
Constructor Summary
CoreFunction(int functionCode, Expression[] args)
           
 
Method Summary
private  void assertArgCount(int count)
           
 java.lang.Object compute(EvalContext context)
           
 boolean computeContextDependent()
          Returns true if any argument is context dependent or if the function is last(), position(), boolean(), local-name(), name(), string(), lang(), number().
 java.lang.Object computeValue(EvalContext context)
          Computes a built-in function
protected  java.lang.Object functionBoolean(EvalContext context)
           
protected  java.lang.Object functionCeiling(EvalContext context)
           
protected  java.lang.Object functionConcat(EvalContext context)
           
protected  java.lang.Object functionContains(EvalContext context)
           
protected  java.lang.Object functionCount(EvalContext context)
           
protected  java.lang.Object functionFalse(EvalContext context)
           
protected  java.lang.Object functionFloor(EvalContext context)
           
private  java.lang.Object functionFormatNumber(EvalContext context)
           
protected  java.lang.Object functionID(EvalContext context)
           
protected  java.lang.Object functionKey(EvalContext context)
           
protected  java.lang.Object functionLang(EvalContext context)
           
protected  java.lang.Object functionLast(EvalContext context)
           
protected  java.lang.Object functionLocalName(EvalContext context)
           
protected  java.lang.Object functionName(EvalContext context)
           
protected  java.lang.Object functionNamespaceURI(EvalContext context)
           
protected  java.lang.Object functionNormalizeSpace(EvalContext context)
           
protected  java.lang.Object functionNot(EvalContext context)
           
protected  java.lang.Object functionNull(EvalContext context)
           
protected  java.lang.Object functionNumber(EvalContext context)
           
protected  java.lang.Object functionPosition(EvalContext context)
           
protected  java.lang.Object functionRound(EvalContext context)
           
protected  java.lang.Object functionStartsWith(EvalContext context)
           
protected  java.lang.Object functionString(EvalContext context)
           
protected  java.lang.Object functionStringLength(EvalContext context)
           
protected  java.lang.Object functionSubstring(EvalContext context)
           
protected  java.lang.Object functionSubstringAfter(EvalContext context)
           
protected  java.lang.Object functionSubstringBefore(EvalContext context)
           
protected  java.lang.Object functionSum(EvalContext context)
           
protected  java.lang.Object functionTranslate(EvalContext context)
           
protected  java.lang.Object functionTrue(EvalContext context)
           
 Expression getArg1()
           
 Expression getArg2()
           
 Expression getArg3()
           
 int getArgumentCount()
           
 int getFunctionCode()
           
protected  java.lang.String getFunctionName()
           
 java.lang.String toString()
           
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Operation
getArguments
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression
isContextDependent, iterate, iteratePointers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ZERO

private static final java.lang.Double ZERO

functionCode

private int functionCode
Constructor Detail

CoreFunction

public CoreFunction(int functionCode,
                    Expression[] args)
Method Detail

getFunctionCode

public int getFunctionCode()

getFunctionName

protected java.lang.String getFunctionName()

getArg1

public Expression getArg1()

getArg2

public Expression getArg2()

getArg3

public Expression getArg3()

getArgumentCount

public int getArgumentCount()

computeContextDependent

public boolean computeContextDependent()
Returns true if any argument is context dependent or if the function is last(), position(), boolean(), local-name(), name(), string(), lang(), number().

Overrides:
computeContextDependent in class Operation

toString

public java.lang.String toString()

compute

public java.lang.Object compute(EvalContext context)
Specified by:
compute in class Expression

computeValue

public java.lang.Object computeValue(EvalContext context)
Computes a built-in function

Specified by:
computeValue in class Expression

functionLast

protected java.lang.Object functionLast(EvalContext context)

functionPosition

protected java.lang.Object functionPosition(EvalContext context)

functionCount

protected java.lang.Object functionCount(EvalContext context)

functionLang

protected java.lang.Object functionLang(EvalContext context)

functionID

protected java.lang.Object functionID(EvalContext context)

functionKey

protected java.lang.Object functionKey(EvalContext context)

functionNamespaceURI

protected java.lang.Object functionNamespaceURI(EvalContext context)

functionLocalName

protected java.lang.Object functionLocalName(EvalContext context)

functionName

protected java.lang.Object functionName(EvalContext context)

functionString

protected java.lang.Object functionString(EvalContext context)

functionConcat

protected java.lang.Object functionConcat(EvalContext context)

functionStartsWith

protected java.lang.Object functionStartsWith(EvalContext context)

functionContains

protected java.lang.Object functionContains(EvalContext context)

functionSubstringBefore

protected java.lang.Object functionSubstringBefore(EvalContext context)

functionSubstringAfter

protected java.lang.Object functionSubstringAfter(EvalContext context)

functionSubstring

protected java.lang.Object functionSubstring(EvalContext context)

functionStringLength

protected java.lang.Object functionStringLength(EvalContext context)

functionNormalizeSpace

protected java.lang.Object functionNormalizeSpace(EvalContext context)

functionTranslate

protected java.lang.Object functionTranslate(EvalContext context)

functionBoolean

protected java.lang.Object functionBoolean(EvalContext context)

functionNot

protected java.lang.Object functionNot(EvalContext context)

functionTrue

protected java.lang.Object functionTrue(EvalContext context)

functionFalse

protected java.lang.Object functionFalse(EvalContext context)

functionNull

protected java.lang.Object functionNull(EvalContext context)

functionNumber

protected java.lang.Object functionNumber(EvalContext context)

functionSum

protected java.lang.Object functionSum(EvalContext context)

functionFloor

protected java.lang.Object functionFloor(EvalContext context)

functionCeiling

protected java.lang.Object functionCeiling(EvalContext context)

functionRound

protected java.lang.Object functionRound(EvalContext context)

functionFormatNumber

private java.lang.Object functionFormatNumber(EvalContext context)

assertArgCount

private void assertArgCount(int count)