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 Valueevaluate(Context c)Evaluate the expression in a given contextbooleanevaluateAsBoolean(Context c)Evaluate the expression in a given contextintgetDataType()Determine the data type of the expressionExpressionreduce(int dependencies, Context context)Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expressionsimplify()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:
simplifyin classBinaryExpression- Returns:
- the simplified expression
- Throws:
XPathException
-
evaluate
public Value evaluate(Context c) throws XPathException
Evaluate the expression in a given context- Specified by:
evaluatein 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:
evaluateAsBooleanin 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:
getDataTypein 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:
reducein 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
-
-