Package com.icl.saxon.expr
Class RelationalExpression
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.BinaryExpression
-
- com.icl.saxon.expr.RelationalExpression
-
final class RelationalExpression extends BinaryExpression
Relational Expression: a boolean expression that compares two expressions for equals, not-equals, greater-than or less-than.
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.BinaryExpression
operator, p1, p2
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description RelationalExpression()
Default constructorRelationalExpression(Expression p1, int op, Expression p2)
Create a relational expression identifying the two operands and the operator
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Value
evaluate(Context c)
Evaluate the expression in a given contextboolean
evaluateAsBoolean(Context c)
Evaluate the expression in a given contextint
getDataType()
Determine the data type of the expressionExpression
reduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expression
simplify()
Simplify an expression-
Methods inherited from class com.icl.saxon.expr.BinaryExpression
display, getDependencies, setDetails
-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Constructor Detail
-
RelationalExpression
public RelationalExpression()
Default constructor
-
RelationalExpression
public RelationalExpression(Expression p1, int op, Expression p2)
Create a relational expression identifying the two operands and the operator- Parameters:
p1
- the left-hand operandop
- the operator, as a token returned by the Tokenizer (e.g. Tokenizer.LT)p2
- the right-hand operand
-
-
Method Detail
-
simplify
public Expression simplify() throws XPathException
Simplify an expression- Overrides:
simplify
in classBinaryExpression
- Returns:
- the simplified expression
- Throws:
XPathException
-
evaluate
public Value evaluate(Context c) throws XPathException
Evaluate the expression in a given context- Specified by:
evaluate
in classExpression
- Parameters:
c
- the given context for evaluation- Returns:
- a BooleanValue representing the result of the numeric comparison of the two operands
- Throws:
XPathException
-
evaluateAsBoolean
public boolean evaluateAsBoolean(Context c) throws XPathException
Evaluate the expression in a given context- Overrides:
evaluateAsBoolean
in classExpression
- Parameters:
c
- the given context for evaluation- Returns:
- a boolean representing the result of the numeric comparison of the two operands
- Throws:
XPathException
-
getDataType
public int getDataType()
Determine the data type of the expression- Specified by:
getDataType
in classExpression
- Returns:
- Value.BOOLEAN
-
reduce
public Expression reduce(int dependencies, Context context) throws XPathException
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.- Specified by:
reduce
in classExpression
- Parameters:
dependencies
- The dependencies to be removedcontext
- The context to be used for the partial evaluation- Returns:
- a new expression that does not have any of the specified dependencies
- Throws:
XPathException
-
-