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

java.lang.Object
  extended by org.apache.commons.jxpath.ri.compiler.Expression
      extended by org.apache.commons.jxpath.ri.compiler.Operation
          extended by org.apache.commons.jxpath.ri.compiler.CoreOperation
              extended by org.apache.commons.jxpath.ri.compiler.CoreOperationRelationalExpression
Direct Known Subclasses:
CoreOperationGreaterThan, CoreOperationGreaterThanOrEqual, CoreOperationLessThan, CoreOperationLessThanOrEqual

public abstract class CoreOperationRelationalExpression
extends CoreOperation

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) $
Author:
Matt Benson

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.Operation
args
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE, ZERO
 
Constructor Summary
protected CoreOperationRelationalExpression(Expression[] args)
          Create a new CoreOperationRelationalExpression.
 
Method Summary
 Object computeValue(EvalContext context)
          Evaluates the expression.
protected abstract  boolean evaluateCompare(int compare)
          Template method for subclasses to evaluate the result of a comparison.
protected  int getPrecedence()
          Computes the precedence of the operation.
protected  boolean isSymmetric()
          Returns true if the operation is not sensitive to the order of arguments, e.g.
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CoreOperationRelationalExpression

protected CoreOperationRelationalExpression(Expression[] args)
Create a new CoreOperationRelationalExpression.

Parameters:
args - arguments
Method Detail

computeValue

public final Object computeValue(EvalContext context)
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 class CoreOperation
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 class CoreOperation
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 class CoreOperation
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


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.