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 intgetCardinality(Expression[] arguments)Get the cardinality, given knowledge of the actual argumentsjava.lang.StringgetCompilerName()Get the (local) name of a class that can be used to generate bytecode for this system functionFoldgetFold(XPathContext context, Sequence... additionalArguments)Create the Fold object which actually performs the evaluation.ItemTypegetResultItemType(Expression[] args)Get the return type, given knowledge of the actual argumentsstatic AtomicValuetotal(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.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
-
-
-
-
Method Detail
-
getResultItemType
public ItemType getResultItemType(Expression[] args)
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
public int getCardinality(Expression[] arguments)
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
public Fold getFold(XPathContext context, Sequence... additionalArguments) throws XPathException
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
-
getCompilerName
public java.lang.String getCompilerName()
Description copied from class:SystemFunctionGet the (local) name of a class that can be used to generate bytecode for this system function- Overrides:
getCompilerNamein classSystemFunction- Returns:
- the name of a bytecode generation class, or null if there is no bytecode support for this function
-
-