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
operation
Fields inherited from class net.sf.saxon.expr.FunctionCall
argument
Fields 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 TypeMethodDescriptionint
Determine the cardinality of the function.evaluateItem
(XPathContext context) Evaluate the functionint
Get implementation methodDetermine the item type of the value returned by the functionstatic AtomicValue
total
(SequenceIterator iter, XPathContext context, SourceLocator location) Calculate the total of a sequence.Methods inherited from class net.sf.saxon.functions.Aggregate
checkArguments
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, computeSpecialProperties, copy, equals, getDetails, getErrorCodeForTypeErrors, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
Methods 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, typeCheck
Methods 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:
getImplementationMethod
in classSystemFunction
- Returns:
- a value that indicates this function is capable of being streamed
-
getItemType
Description copied from class:SystemFunction
Determine the item type of the value returned by the function- Overrides:
getItemType
in 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:SystemFunction
Determine the cardinality of the function.- Overrides:
computeCardinality
in 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:
evaluateItem
in 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
-