CoreOperationAdd, CoreOperationAnd, CoreOperationCompare, CoreOperationDivide, CoreOperationMod, CoreOperationMultiply, CoreOperationNegate, CoreOperationOr, CoreOperationRelationalExpression, CoreOperationSubtract, CoreOperationUnionpublic abstract class CoreOperation extends Operation
Expression.PointerIterator, Expression.ValueIterator| Modifier and Type | Field | Description |
|---|---|---|
protected static int |
ADD_PRECEDENCE |
add/subtract precedence
|
protected static int |
AND_PRECEDENCE |
and precedence
|
protected static int |
COMPARE_PRECEDENCE |
compare precedence
|
protected static int |
MULTIPLY_PRECEDENCE |
multiply/divide/mod precedence
|
protected static int |
NEGATE_PRECEDENCE |
negate precedence
|
protected static int |
OR_PRECEDENCE |
or precedence
|
protected static int |
RELATIONAL_EXPR_PRECEDENCE |
relational expression precedence
|
protected static int |
UNION_PRECEDENCE |
union precedence
|
NOT_A_NUMBER, ONE, ZERO| Constructor | Description |
|---|---|
CoreOperation(Expression[] args) |
Create a new CoreOperation.
|
| Modifier and Type | Method | Description |
|---|---|---|
java.lang.Object |
compute(EvalContext context) |
Evaluates the expression.
|
abstract java.lang.Object |
computeValue(EvalContext context) |
Evaluates the expression.
|
protected abstract int |
getPrecedence() |
Computes the precedence of the operation.
|
abstract java.lang.String |
getSymbol() |
Returns the XPath symbol for this operation, e.g.
|
protected abstract boolean |
isSymmetric() |
Returns true if the operation is not sensitive to the order of arguments,
e.g.
|
private java.lang.String |
parenthesize(Expression expression,
boolean left) |
Wrap an expression in parens if necessary.
|
java.lang.String |
toString() |
isContextDependent, iterate, iteratePointersclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcomputeContextDependent, getArgumentsprotected static final int OR_PRECEDENCE
protected static final int AND_PRECEDENCE
protected static final int COMPARE_PRECEDENCE
protected static final int RELATIONAL_EXPR_PRECEDENCE
protected static final int ADD_PRECEDENCE
protected static final int MULTIPLY_PRECEDENCE
protected static final int NEGATE_PRECEDENCE
protected static final int UNION_PRECEDENCE
public CoreOperation(Expression[] args)
args - Expression[]public java.lang.Object compute(EvalContext context)
Expressioncompute in class Expressioncontext - evaluation contextpublic abstract java.lang.Object computeValue(EvalContext context)
ExpressioncomputeValue in class Expressioncontext - evaluation contextpublic abstract java.lang.String getSymbol()
protected abstract boolean isSymmetric()
protected abstract int getPrecedence()
public java.lang.String toString()
toString in class java.lang.Objectprivate java.lang.String parenthesize(Expression expression, boolean left)
expression - other Expressionleft - whether expression is left of this one.