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
Implementation of the fn:sum function
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
getCardinality
(Expression[] arguments) Get the cardinality, given knowledge of the actual argumentsGet the (local) name of a class that can be used to generate bytecode for this system 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 argumentsstatic AtomicValue
total
(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, 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.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 Details
-
Sum
public Sum()
-
-
Method Details
-
getResultItemType
Description copied from class:SystemFunction
Get the return type, given knowledge of the actual arguments- Overrides:
getResultItemType
in classSystemFunction
- Parameters:
args
- the actual arguments supplied- Returns:
- the best available item type that the function will return
-
getCardinality
Description copied from class:SystemFunction
Get the cardinality, given knowledge of the actual arguments- Overrides:
getCardinality
in 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:
getFold
in 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
-
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 classSystemFunction
- Returns:
- the name of a bytecode generation class, or null if there is no bytecode support for this function
-