Class SumFunction

  • All Implemented Interfaces:
    Function

    public class SumFunction
    extends 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 Detail

      • SumFunction

        public SumFunction()
        Create a new SumFunction object.
    • Method Detail

      • 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