Package com.icl.saxon.functions
Class Round
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.Function
-
- com.icl.saxon.functions.Round
-
public class Round extends Function
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description Round()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Value
evaluate(Context c)
Evaluate in a general contextdouble
evaluateAsNumber(Context c)
Evaluate the function in a numeric contextint
getDataType()
Determine the data type of the expressionint
getDependencies()
Determine the dependenciesjava.lang.String
getName()
Function name (for diagnostics)Expression
reduce(int dep, Context c)
Reduce the dependenciesstatic double
round(double arg0)
Here is the actual rounding algorithmExpression
simplify()
Simplify and validate.-
Methods inherited from class com.icl.saxon.expr.Function
addArgument, checkArgumentCount, display, getNumberOfArguments
-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Function name (for diagnostics)
-
getDataType
public int getDataType()
Determine the data type of the expression- Specified by:
getDataType
in classExpression
- Returns:
- Value.NUMBER
-
simplify
public Expression simplify() throws XPathException
Simplify and validate. This is a pure function so it can be simplified in advance if the arguments are known- Overrides:
simplify
in classExpression
- Returns:
- the simplified expression
- Throws:
XPathException
-
evaluateAsNumber
public double evaluateAsNumber(Context c) throws XPathException
Evaluate the function in a numeric context- Overrides:
evaluateAsNumber
in classExpression
- Parameters:
c
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
- Throws:
XPathException
-
evaluate
public Value evaluate(Context c) throws XPathException
Evaluate in a general context- Specified by:
evaluate
in classExpression
- Parameters:
c
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
- Throws:
XPathException
-
getDependencies
public int getDependencies()
Determine the dependencies- Specified by:
getDependencies
in classExpression
-
reduce
public Expression reduce(int dep, Context c) throws XPathException
Reduce the dependencies- Specified by:
reduce
in classExpression
- Parameters:
dep
- The dependencies to be removed, e.g. Context.VARIABLESc
- The context to be used for the partial evaluation- Returns:
- a new expression (or Value) that does not have any of the specified dependencies
- Throws:
XPathException
-
round
public static double round(double arg0)
Here is the actual rounding algorithm
-
-