Class SumFunctionCall
- java.lang.Object
-
- org.exolab.adaptx.xpath.expressions.PrimaryExpr
-
- org.exolab.adaptx.xpath.expressions.FunctionCall
-
- org.exolab.adaptx.xpath.functions.FunctionCallImpl
-
- org.exolab.adaptx.xpath.functions.SumFunctionCall
-
- All Implemented Interfaces:
Parameters
,XPathExpression
public class SumFunctionCall extends FunctionCallImpl
A class that represents the XPath 1.0 sum function call. The Sum function takes as an argument an experession which evaluates to a node-set. Each node in the node-set will have it's string-value converted into a number. Each resulting number will then added together to compute the sum. Nodes whose string value is the empty-string will be ignored. If any node within the node-set has a non-zero length string value that cannot be sucessfully converted to a number, an XPathException will be thrown.- Version:
- $Revision: 3736 $
- Author:
- Keith Visco
-
-
Field Summary
-
Fields inherited from class org.exolab.adaptx.xpath.functions.FunctionCallImpl
INVALID_NUMBER_PARAMS, INVALID_RESULT
-
Fields inherited from class org.exolab.adaptx.xpath.expressions.PrimaryExpr
EXPR, FUNCTION_CALL, LITERAL, NUMBER, VARIABLE_REFERENCE
-
Fields inherited from interface org.exolab.adaptx.xpath.XPathExpression
BOOLEAN, ERROR, FILTER_EXPR, LOCATION_PATH, NODE_TEST, PATH_EXPR, PRIMARY, STEP, STRING, UNION_EXPR
-
-
Constructor Summary
Constructors Constructor Description SumFunctionCall()
Creates a new SumFunctionCall
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
computeSum(NodeSet nodeSet)
Computes the sum of the given NodeSet.XPathResult
evaluate(XPathContext context)
Evaluates the expression and returns the XPath result.-
Methods inherited from class org.exolab.adaptx.xpath.functions.FunctionCallImpl
addParameter, getFunctionName, getParameter, getParameterCount, toString
-
Methods inherited from class org.exolab.adaptx.xpath.expressions.PrimaryExpr
getExprType, getType
-
-
-
-
Method Detail
-
evaluate
public XPathResult evaluate(XPathContext context) throws XPathException
Evaluates the expression and returns the XPath result.- Parameters:
context
- The XPathContext to use during evaluation.- Returns:
- The XPathResult (not null).
- Throws:
XPathException
- if an error occured while evaluating this expression.
-
computeSum
public double computeSum(NodeSet nodeSet) throws XPathException
Computes the sum of the given NodeSet. The sum is computed by adding up the number values of each node within the node set. If any non-numeric node values are encountered, an XPathException will be thrown.- Parameters:
nodeSet
- the NodeSet to the compute the sum of- Returns:
- the sum as a double
- Throws:
XPathException
- when a non-numeric value is encountered.
-
-