Package net.sf.saxon.functions
Class Sum
- All Implemented Interfaces:
Serializable,SourceLocator,LocationProvider,SaxonLocator,InstructionInfo,Locator
Implementation of the fn:sum function
- See Also:
-
Field Summary
Fields inherited from class net.sf.saxon.functions.SystemFunction
operationFields inherited from class net.sf.saxon.expr.FunctionCall
argumentFields inherited from class net.sf.saxon.expr.Expression
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintDetermine the cardinality of the function.evaluateItem(XPathContext context) Evaluate the functionintGet implementation methodDetermine the item type of the value returned by the functionstatic AtomicValuetotal(SequenceIterator iter, XPathContext context, SourceLocator location) Calculate the total of a sequence.Methods inherited from class net.sf.saxon.functions.Aggregate
checkArgumentsMethods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, computeSpecialProperties, copy, equals, getDetails, getErrorCodeForTypeErrors, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefaultMethods inherited from class net.sf.saxon.expr.FunctionCall
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheckMethods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
-
Constructor Details
-
Sum
public Sum()
-
-
Method Details
-
getImplementationMethod
public int getImplementationMethod()Get implementation method- Overrides:
getImplementationMethodin classSystemFunction- Returns:
- a value that indicates this function is capable of being streamed
-
getItemType
Description copied from class:SystemFunctionDetermine the item type of the value returned by the function- Overrides:
getItemTypein classSystemFunction- Parameters:
th- the type hierarchy cache- Returns:
- a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER, Type.NODE, or Type.ITEM (meaning not known at compile time)
-
computeCardinality
public int computeCardinality()Description copied from class:SystemFunctionDetermine the cardinality of the function.- Overrides:
computeCardinalityin classSystemFunction- Returns:
- the computed cardinality, as one of the values
StaticProperty.ALLOWS_ZERO_OR_ONE,StaticProperty.EXACTLY_ONE,StaticProperty.ALLOWS_ONE_OR_MORE,StaticProperty.ALLOWS_ZERO_OR_MORE
-
evaluateItem
Evaluate the function- Overrides:
evaluateItemin classExpression- Parameters:
context- The context in which the expression is to be evaluated- Returns:
- the node or atomic value that results from evaluating the expression; or null to indicate that the result is an empty sequence
- Throws:
XPathException- if any dynamic error occurs evaluating the expression
-
total
public static AtomicValue total(SequenceIterator iter, XPathContext context, SourceLocator location) throws XPathException Calculate the total of a sequence.- Parameters:
iter- iterator over the items to be totalledcontext- the XPath dynamic contextlocation- location of the expression in the source for diagnostics- Returns:
- the total, according to the rules of the XPath sum() function, but returning null if the sequence is empty. (It's then up to the caller to decide what the correct result is for an empty sequence.
- Throws:
XPathException
-