Class CoreOperationRelationalExpression
java.lang.Object
org.apache.commons.jxpath.ri.compiler.Expression
org.apache.commons.jxpath.ri.compiler.Operation
org.apache.commons.jxpath.ri.compiler.CoreOperation
org.apache.commons.jxpath.ri.compiler.CoreOperationRelationalExpression
- Direct Known Subclasses:
CoreOperationGreaterThan
,CoreOperationGreaterThanOrEqual
,CoreOperationLessThan
,CoreOperationLessThanOrEqual
Base implementation of Expression for the operations ">", ">=", "<", "<=".
- Since:
- JXPath 1.3
- Version:
- $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
-
Field Summary
Fields inherited from class org.apache.commons.jxpath.ri.compiler.CoreOperation
ADD_PRECEDENCE, AND_PRECEDENCE, COMPARE_PRECEDENCE, MULTIPLY_PRECEDENCE, NEGATE_PRECEDENCE, OR_PRECEDENCE, RELATIONAL_EXPR_PRECEDENCE, UNION_PRECEDENCE
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE, ZERO
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Create a new CoreOperationRelationalExpression. -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
Compare left to right.final Object
computeValue
(EvalContext context) Evaluates the expression.private boolean
containsMatch
(Iterator it, Object value) Learn whether any element returned from an Iterator matches a given value.protected abstract boolean
evaluateCompare
(int compare) Template method for subclasses to evaluate the result of a comparison.private boolean
Learn whether there is an intersection between two Iterators.protected final int
Computes the precedence of the operation.protected final boolean
Returns true if the operation is not sensitive to the order of arguments, e.g.private Object
Reduce an operand for comparison.Methods inherited from class org.apache.commons.jxpath.ri.compiler.CoreOperation
compute, getSymbol, toString
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Operation
computeContextDependent, getArguments
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression
isContextDependent, iterate, iteratePointers
-
Constructor Details
-
CoreOperationRelationalExpression
Create a new CoreOperationRelationalExpression.- Parameters:
args
- arguments
-
-
Method Details
-
computeValue
Description copied from class:Expression
Evaluates the expression. If the result is a node set, returns the first element of the node set.- Specified by:
computeValue
in classCoreOperation
- Parameters:
context
- evaluation context- Returns:
- Object
-
getPrecedence
protected final int getPrecedence()Description copied from class:CoreOperation
Computes the precedence of the operation.- Specified by:
getPrecedence
in classCoreOperation
- Returns:
- int precedence
-
isSymmetric
protected final boolean isSymmetric()Description copied from class:CoreOperation
Returns true if the operation is not sensitive to the order of arguments, e.g. "=", "and" etc, and false if it is, e.g. "<=", "div".- Specified by:
isSymmetric
in classCoreOperation
- Returns:
- boolean
-
evaluateCompare
protected abstract boolean evaluateCompare(int compare) Template method for subclasses to evaluate the result of a comparison.- Parameters:
compare
- result of comparison to evaluate- Returns:
- ultimate operation success/failure
-
compute
Compare left to right.- Parameters:
left
- left operandright
- right operand- Returns:
- operation success/failure
-
reduce
Reduce an operand for comparison.- Parameters:
o
- Object to reduce- Returns:
- reduced operand
-
containsMatch
Learn whether any element returned from an Iterator matches a given value.- Parameters:
it
- Iteratorvalue
- to look for- Returns:
- whether a match was found
-
findMatch
Learn whether there is an intersection between two Iterators.- Parameters:
lit
- left Iteratorrit
- right Iterator- Returns:
- whether a match was found
-