public class CoreFunction extends Operation
Expression.PointerIterator, Expression.ValueIterator
Modifier and Type | Field and Description |
---|---|
private int |
functionCode |
private static java.lang.Double |
ZERO |
NOT_A_NUMBER, ONE
Constructor and Description |
---|
CoreFunction(int functionCode,
Expression[] args)
Create a new CoreFunction.
|
Modifier and Type | Method and Description |
---|---|
private void |
assertArgCount(int count)
Assert
count args. |
private void |
assertArgRange(int min,
int max)
Assert at least
min /at most max args. |
java.lang.Object |
compute(EvalContext context)
Evaluates the expression.
|
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)
Evaluates the expression.
|
protected java.lang.Object |
functionBoolean(EvalContext context)
boolean() implementation.
|
protected java.lang.Object |
functionCeiling(EvalContext context)
ceiling() implementation.
|
protected java.lang.Object |
functionConcat(EvalContext context)
concat() implementation.
|
protected java.lang.Object |
functionContains(EvalContext context)
contains() implementation.
|
protected java.lang.Object |
functionCount(EvalContext context)
count() implementation.
|
protected java.lang.Object |
functionFalse(EvalContext context)
false() implementation.
|
protected java.lang.Object |
functionFloor(EvalContext context)
floor() implementation.
|
private java.lang.Object |
functionFormatNumber(EvalContext context)
format-number() implementation.
|
protected java.lang.Object |
functionID(EvalContext context)
id() implementation.
|
protected java.lang.Object |
functionKey(EvalContext context)
key() implementation.
|
protected java.lang.Object |
functionLang(EvalContext context)
lang() implementation.
|
protected java.lang.Object |
functionLast(EvalContext context)
last() implementation.
|
protected java.lang.Object |
functionLocalName(EvalContext context)
local-name() implementation.
|
protected java.lang.Object |
functionName(EvalContext context)
name() implementation.
|
protected java.lang.Object |
functionNamespaceURI(EvalContext context)
namespace-uri() implementation.
|
protected java.lang.Object |
functionNormalizeSpace(EvalContext context)
normalize-space() implementation.
|
protected java.lang.Object |
functionNot(EvalContext context)
not() implementation.
|
protected java.lang.Object |
functionNull(EvalContext context)
null() implementation.
|
protected java.lang.Object |
functionNumber(EvalContext context)
number() implementation.
|
protected java.lang.Object |
functionPosition(EvalContext context)
position() implementation.
|
protected java.lang.Object |
functionRound(EvalContext context)
round() implementation.
|
protected java.lang.Object |
functionStartsWith(EvalContext context)
starts-with() implementation.
|
protected java.lang.Object |
functionString(EvalContext context)
string() implementation.
|
protected java.lang.Object |
functionStringLength(EvalContext context)
string-length() implementation.
|
protected java.lang.Object |
functionSubstring(EvalContext context)
substring() implementation.
|
protected java.lang.Object |
functionSubstringAfter(EvalContext context)
substring-after() implementation.
|
protected java.lang.Object |
functionSubstringBefore(EvalContext context)
substring-before() implementation.
|
protected java.lang.Object |
functionSum(EvalContext context)
sum() implementation.
|
protected java.lang.Object |
functionTranslate(EvalContext context)
translate() implementation.
|
protected java.lang.Object |
functionTrue(EvalContext context)
true() implementation.
|
Expression |
getArg1()
Convenience method to return the first argument.
|
Expression |
getArg2()
Convenience method to return the second argument.
|
Expression |
getArg3()
Convenience method to return the third argument.
|
int |
getArgumentCount()
Return the number of argument Expressions.
|
int |
getFunctionCode()
Get the function code.
|
protected java.lang.String |
getFunctionName()
Get the name of this function.
|
java.lang.String |
toString() |
getArguments
isContextDependent, iterate, iteratePointers
public CoreFunction(int functionCode, Expression[] args)
functionCode
- int function codeargs
- argument Expressionspublic int getFunctionCode()
protected java.lang.String getFunctionName()
public Expression getArg1()
public Expression getArg2()
public Expression getArg3()
public int getArgumentCount()
public boolean computeContextDependent()
computeContextDependent
in class Operation
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object compute(EvalContext context)
Expression
compute
in class Expression
context
- evaluation contextpublic java.lang.Object computeValue(EvalContext context)
Expression
computeValue
in class Expression
context
- evaluation contextprotected java.lang.Object functionLast(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionPosition(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionCount(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionLang(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionID(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionKey(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionNamespaceURI(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionLocalName(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionName(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionString(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionConcat(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionStartsWith(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionContains(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionSubstringBefore(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionSubstringAfter(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionSubstring(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionStringLength(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionNormalizeSpace(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionTranslate(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionBoolean(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionNot(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionTrue(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionFalse(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionNull(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionNumber(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionSum(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionFloor(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionCeiling(EvalContext context)
context
- evaluation contextprotected java.lang.Object functionRound(EvalContext context)
context
- evaluation contextprivate java.lang.Object functionFormatNumber(EvalContext context)
context
- evaluation contextprivate void assertArgCount(int count)
count
args.count
- intprivate void assertArgRange(int min, int max)
min
/at most max
args.min
- intmax
- int