org.jaxen.function

Class SumFunction

Implemented Interfaces:
Function

public class SumFunction
extends java.lang.Object
implements Function

4.4 number sum(node-set)
The sum function returns the sum, for each node in the argument node-set, of the result of converting the string-values of the node to a number.
Author:
bob mcwhirter (bob @ werken.com)
See Also:
Section 4.4 of the XPath Specification

Constructor Summary

SumFunction()
Create a new SumFunction object.

Method Summary

Object
call(Context context, List args)
Returns the sum of its arguments.
static Double
evaluate(Object obj, Navigator nav)
Returns the sum of the items in a list.

Constructor Details

SumFunction

public SumFunction()
Create a new SumFunction object.

Method Details

call

public Object call(Context context,
                   List args)
            throws FunctionCallException
Returns the sum of its arguments.
Specified by:
call in interface Function
Parameters:
context - the context at the point in the expression when the function is called
args - a list that contains exactly one item, also a List
Returns:
a Double containing the sum of the items in args.get(0)
Throws:
FunctionCallException - if args has more or less than one item; or if the first argument is not a List

evaluate

public static Double evaluate(Object obj,
                              Navigator nav)
            throws FunctionCallException
Returns the sum of the items in a list. If necessary, each item in the list is first converted to a Double as if by the XPath number() function.
Parameters:
obj - a List of numbers to be summed
nav - ignored
Returns:
the sum of the list
Throws:
FunctionCallException - if obj is not a List