org.jaxen.expr
Class DefaultRelationalExpr

java.lang.Object
  extended byorg.jaxen.expr.DefaultExpr
      extended byorg.jaxen.expr.DefaultBinaryExpr
          extended byorg.jaxen.expr.DefaultTruthExpr
              extended byorg.jaxen.expr.DefaultRelationalExpr
All Implemented Interfaces:
BinaryExpr, Expr, RelationalExpr, java.io.Serializable
Direct Known Subclasses:
DefaultGreaterThanEqualExpr, DefaultGreaterThanExpr, DefaultLessThanEqualExpr, DefaultLessThanExpr

abstract class DefaultRelationalExpr
extends DefaultTruthExpr
implements RelationalExpr


Constructor Summary
(package private) DefaultRelationalExpr(Expr lhs, Expr rhs)
           
 
Method Summary
protected  boolean bothAreBoolean(java.lang.Object lhs, java.lang.Object rhs)
           
protected  boolean bothAreSets(java.lang.Object lhs, java.lang.Object rhs)
           
protected  boolean eitherIsBoolean(java.lang.Object lhs, java.lang.Object rhs)
           
protected  boolean eitherIsNumber(java.lang.Object lhs, java.lang.Object rhs)
           
protected  boolean eitherIsSet(java.lang.Object lhs, java.lang.Object rhs)
           
 java.lang.Object evaluate(Context context)
          Evaluate the expression in the given context, and return the result.
protected abstract  boolean evaluateDoubleDouble(java.lang.Double lhs, java.lang.Double rhs)
           
private  boolean evaluateObjectObject(java.lang.Object lhs, java.lang.Object rhs, Navigator nav)
           
private  java.lang.Object evaluateSetSet(java.util.List lhsSet, java.util.List rhsSet, Navigator nav)
           
 Expr getLHS()
          Returns the left-hand side of the binary expression.
abstract  java.lang.String getOperator()
          Returns the operator for the binary expression such as "+" or "div".
 Expr getRHS()
          Returns the right-hand side of the binary expression.
 java.lang.String getText()
          Returns a String containing the XPath expression.
protected  boolean isSet(java.lang.Object obj)
           
protected  boolean setIsEmpty(java.util.List set)
           
 void setLHS(Expr lhs)
           
 void setRHS(Expr rhs)
           
 Expr simplify()
          Simplifies the XPath expression.
 java.lang.String toString()
           
 
Methods inherited from class org.jaxen.expr.DefaultExpr
convertToIterator, convertToList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jaxen.expr.BinaryExpr
getLHS, getOperator, getRHS
 
Methods inherited from interface org.jaxen.expr.Expr
getText, simplify
 

Constructor Detail

DefaultRelationalExpr

DefaultRelationalExpr(Expr lhs,
                      Expr rhs)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class DefaultTruthExpr

evaluate

public java.lang.Object evaluate(Context context)
                          throws JaxenException
Description copied from interface: Expr
Evaluate the expression in the given context, and return the result. The result will be a java.lang.Double for expressions that return a number, a java.lang.String for expressions that return a string, a java.lang.Boolean for expressions that return a boolean, and a java.util.List for expressions that return a node-set. In the latter case, the elements of the list are the actual objects from the source document model. Copies are not made.

Specified by:
evaluate in interface Expr
Parameters:
context - the context in which the expression is evaluated
Returns:
an object representing the result of the evaluation
Throws:
JaxenException

evaluateSetSet

private java.lang.Object evaluateSetSet(java.util.List lhsSet,
                                        java.util.List rhsSet,
                                        Navigator nav)

evaluateObjectObject

private boolean evaluateObjectObject(java.lang.Object lhs,
                                     java.lang.Object rhs,
                                     Navigator nav)

evaluateDoubleDouble

protected abstract boolean evaluateDoubleDouble(java.lang.Double lhs,
                                                java.lang.Double rhs)

bothAreSets

protected boolean bothAreSets(java.lang.Object lhs,
                              java.lang.Object rhs)

eitherIsSet

protected boolean eitherIsSet(java.lang.Object lhs,
                              java.lang.Object rhs)

isSet

protected boolean isSet(java.lang.Object obj)

setIsEmpty

protected boolean setIsEmpty(java.util.List set)

eitherIsBoolean

protected boolean eitherIsBoolean(java.lang.Object lhs,
                                  java.lang.Object rhs)

bothAreBoolean

protected boolean bothAreBoolean(java.lang.Object lhs,
                                 java.lang.Object rhs)

eitherIsNumber

protected boolean eitherIsNumber(java.lang.Object lhs,
                                 java.lang.Object rhs)

getLHS

public Expr getLHS()
Description copied from interface: BinaryExpr
Returns the left-hand side of the binary expression.

Specified by:
getLHS in interface BinaryExpr
Returns:
the left hand side expression

getRHS

public Expr getRHS()
Description copied from interface: BinaryExpr
Returns the right-hand side of the binary expression.

Specified by:
getRHS in interface BinaryExpr
Returns:
the right-hand side expression

setLHS

public void setLHS(Expr lhs)

setRHS

public void setRHS(Expr rhs)

getOperator

public abstract java.lang.String getOperator()
Description copied from interface: BinaryExpr
Returns the operator for the binary expression such as "+" or "div".

Specified by:
getOperator in interface BinaryExpr
Returns:
the operator for the expression

getText

public java.lang.String getText()
Description copied from interface: Expr
Returns a String containing the XPath expression.

Specified by:
getText in interface Expr
Returns:
the text form of this XPath expression

simplify

public Expr simplify()
Description copied from interface: Expr
Simplifies the XPath expression. For example, the expression //para[1 = 1] could be simplified to //para. In practice, this is usually a noop. Jaxen does not currently perform any simplification.

Specified by:
simplify in interface Expr
Overrides:
simplify in class DefaultExpr