Package net.sf.saxon.functions

## Class Sum

- java.lang.Object
- - net.sf.saxon.functions.AbstractFunction
  - - net.sf.saxon.functions.SystemFunction
    - - net.sf.saxon.functions.FoldingFunction
      - - net.sf.saxon.functions.Sum

- All Implemented Interfaces:
    `Callable`, `Function`, `GroundedValue`, `Item`, `Sequence`

      public class Sum
      extends FoldingFunction

  Implementation of the fn:sum function

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Sum()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getCardinality​(Expression[] arguments)` | Get the cardinality, given knowledge of the actual arguments
    `java.lang.String` | `getCompilerName()` | Get the (local) name of a class that can be used to generate bytecode for this system function
    `Fold` | `getFold​(XPathContext context, Sequence... additionalArguments)` | Create the Fold object which actually performs the evaluation.
    `ItemType` | `getResultItemType​(Expression[] args)` | Get the return type, given knowledge of the actual arguments
    `static AtomicValue` | `total​(SequenceIterator in, XPathContext context, Location locator)` | Static method to compute a total, invoked from compiled bytecode

    - ### Methods inherited from class net.sf.saxon.functions.FoldingFunction

      `call, getStreamerName`

    - ### Methods inherited from class net.sf.saxon.functions.SystemFunction

      `dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, importAttributes, isTrustedResultType, makeCall, makeFunction, makeFunctionCall, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller`

    - ### Methods inherited from class net.sf.saxon.functions.AbstractFunction

      `atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.om.Function

      `getGenre`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `getLength, head, isStreamed, itemAt, iterate, reduce, subsequence`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### Constructor Detail

    - #### Sum

          public Sum()

  - ### Method Detail

    - #### getResultItemType

          public ItemType getResultItemType​(Expression[] args)

      Description copied from class: `SystemFunction`
      Get the return type, given knowledge of the actual arguments
      Overrides:
        `getResultItemType` in class `SystemFunction`
      Parameters:
        `args` - the actual arguments supplied
      Returns:
        the best available item type that the function will return

    - #### getCardinality

          public int getCardinality​(Expression[] arguments)

      Description copied from class: `SystemFunction`
      Get the cardinality, given knowledge of the actual arguments
      Overrides:
        `getCardinality` in class `SystemFunction`
      Parameters:
        `arguments` - the actual arguments supplied
      Returns:
        the most precise available cardinality that the function will return

    - #### getFold

          public Fold getFold​(XPathContext context,
                              Sequence... additionalArguments)
                       throws XPathException

      Create the Fold object which actually performs the evaluation.
      Specified by:
        `getFold` in class `FoldingFunction`
      Parameters:
        `context` - the dynamic evaluation context
        `additionalArguments` - the values of all arguments other than the first.
      Returns:
        the Fold object used to compute the function
      Throws:
        `XPathException` - if a dynamic error occurs

    - #### total

          public static AtomicValue total​(SequenceIterator in,
                                          XPathContext context,
                                          Location locator)
                                   throws XPathException

      Static method to compute a total, invoked from compiled bytecode
      Parameters:
        `in` - the sequence of items to be summed
        `context` - dynamic context for evaluation
        `locator` - expression location for diagnostics
      Returns:
        null if the input is empty, otherwise the total as defined by the semantics of the sum() function
      Throws:
        `XPathException` - if a dynamic error occurs

    - #### getCompilerName

          public java.lang.String getCompilerName()

      Description copied from class: `SystemFunction`
      Get the (local) name of a class that can be used to generate bytecode for this system function
      Overrides:
        `getCompilerName` in class `SystemFunction`
      Returns:
        the name of a bytecode generation class, or null if there is no bytecode support for this function