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,FunctionItem,GroundedValue,Item,Sequence
Implementation of the fn:sum function
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classImplementation of Fold class to do the summation in push mode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetCardinality(Expression[] arguments) Get the cardinality, given knowledge of the actual argumentsMake an elaborator for a system function call on this functiongetFold(XPathContext context, Sequence... additionalArguments) Create the Fold object which actually performs the evaluation.getResultItemType(Expression[] args) Get the return type, given knowledge of the actual argumentsmakeFunctionCall(Expression... arguments) Make an expression that either calls this function, or that is equivalent to a call on this functionstatic AtomicValuetotal(SequenceIterator in, XPathContext context, Location locator) Static method to compute a total, invoked from compiled bytecodeMethods inherited from class net.sf.saxon.functions.FoldingFunction
call, getStreamerNameMethods 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, getUniStringArg, hashCode, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCallerMethods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheckMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.sf.saxon.om.FunctionItem
getGenreMethods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materializeMethods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequenceMethods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Constructor Details
-
Sum
public Sum()
-
-
Method Details
-
makeFunctionCall
Description copied from class:SystemFunctionMake an expression that either calls this function, or that is equivalent to a call on this function- Overrides:
makeFunctionCallin classSystemFunction- Parameters:
arguments- the supplied arguments to the function call- Returns:
- either a function call on this function, or an expression that delivers the same result
-
getResultItemType
Description copied from class:SystemFunctionGet the return type, given knowledge of the actual arguments- Overrides:
getResultItemTypein classSystemFunction- Parameters:
args- the actual arguments supplied- Returns:
- the best available item type that the function will return
-
getCardinality
Description copied from class:SystemFunctionGet the cardinality, given knowledge of the actual arguments- Overrides:
getCardinalityin classSystemFunction- Parameters:
arguments- the actual arguments supplied- Returns:
- the most precise available cardinality that the function will return
-
getFold
Create the Fold object which actually performs the evaluation.- Specified by:
getFoldin classFoldingFunction- Parameters:
context- the dynamic evaluation contextadditionalArguments- 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 summedcontext- dynamic context for evaluationlocator- 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
-
getElaborator
Make an elaborator for a system function call on this function- Overrides:
getElaboratorin classSystemFunction- Returns:
- a suitable elaborator; or null if no custom elaborator is available
-