com.icl.saxon.expr

Class BinaryExpression

Known Direct Subclasses:
ArithmeticExpression, BooleanExpression, RelationalExpression

(package private) abstract class BinaryExpression
extends Expression

Binary Expression: a numeric expression consisting of the two operands and an operator

Field Summary

protected int
operator
protected Expression
p1
protected Expression
p2

Fields inherited from class com.icl.saxon.expr.Expression

staticContext

Constructor Summary

BinaryExpression()
Default constructor
BinaryExpression(Expression p1, int op, Expression p2)
Create a binary expression identifying the two operands and the operator

Method Summary

void
display(int level)
Diagnostic print of expression structure
int
getDependencies()
Determine which aspects of the context the expression depends on.
void
setDetails(Expression p1, int op, Expression p2)
Identify the two operands and the operator (for use when the default constructor was used)
Expression
simplify()
Simplify an expression

Methods inherited from class com.icl.saxon.expr.Expression

containsReferences, display, enumerate, evaluate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getDataType, getDependencies, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, reduce, setStaticContext, simplify, usesCurrent

Field Details

operator

protected int operator

p1

protected Expression p1

p2

protected Expression p2

Constructor Details

BinaryExpression

public BinaryExpression()
Default constructor

BinaryExpression

public BinaryExpression(Expression p1,
                        int op,
                        Expression p2)
Create a binary expression identifying the two operands and the operator
Parameters:
p1 - the left-hand operand
op - the operator, as a token returned by the Tokenizer (e.g. Tokenizer.AND)
p2 - the right-hand operand

Method Details

display

public void display(int level)
Diagnostic print of expression structure
Overrides:
display in interface Expression

getDependencies

public int getDependencies()
Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE
Overrides:
getDependencies in interface Expression

setDetails

public void setDetails(Expression p1,
                       int op,
                       Expression p2)
Identify the two operands and the operator (for use when the default constructor was used)
Parameters:
p1 - the left-hand operand
op - the operator, as a token returned by the Tokenizer (e.g. Tokenizer.AND)
p2 - the right-hand operand

simplify

public Expression simplify()
            throws XPathException
Simplify an expression
Overrides:
simplify in interface Expression
Returns:
the simplified expression