com.icl.saxon.expr

Class ArithmeticExpression

class ArithmeticExpression extends BinaryExpression

Arithmetic Expression: a numeric expression consisting of the sum, difference, product, quotient, or modulus of two numeric expressions
Constructor Summary
ArithmeticExpression()
ArithmeticExpression(Expression p1, int operator, Expression p2)
Method Summary
Valueevaluate(Context c)
Evaluate an expression.
doubleevaluateAsNumber(Context c)
Evaluate an expression as a Number.
intgetDataType()
Determine the data type of the expression, if possible
Expressionreduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.

Constructor Detail

ArithmeticExpression

public ArithmeticExpression()

ArithmeticExpression

public ArithmeticExpression(Expression p1, int operator, Expression p2)

Method Detail

evaluate

public Value evaluate(Context c)
Evaluate an expression.

Parameters: context The context in which the expression is to be evaluated

Returns: the value of the expression as a Value object, evaluated in the current context

evaluateAsNumber

public double evaluateAsNumber(Context c)
Evaluate an expression as a Number.

Parameters: context The context in which the expression is to be evaluated

Returns: the value of the expression as a double, evaluated in the current context

getDataType

public int getDataType()
Determine the data type of the expression, if possible

Returns: Value.NUMBER

reduce

public Expression reduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.

Parameters: dependencies The dependencies to be removed context The context to be used for the partial evaluation

Returns: a new expression that does not have any of the specified dependencies