net.sf.saxon.functions
Class Sum
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.Aggregate
net.sf.saxon.functions.Sum
- All Implemented Interfaces:
- Serializable, SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, Locator
public class Sum
- extends Aggregate
Implementation of the fn:sum function
- See Also:
- Serialized Form
Constructor Summary |
Sum()
|
Methods inherited from class net.sf.saxon.functions.SystemFunction |
addContextDocumentArgument, addDocToPathMap, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault |
Methods inherited from class net.sf.saxon.expr.FunctionCall |
addExternalFunctionCallToPathMap, checkArgumentCount, equals, 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, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError |
Sum
public Sum()
getImplementationMethod
public int getImplementationMethod()
- Get implementation method
- Overrides:
getImplementationMethod
in class SystemFunction
- Returns:
- a value that indicates this function is capable of being streamed
getItemType
public ItemType getItemType(TypeHierarchy th)
- Description copied from class:
SystemFunction
- Determine the item type of the value returned by the function
- Overrides:
getItemType
in class SystemFunction
- 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)
evaluateItem
public Item evaluateItem(XPathContext context)
throws XPathException
- Evaluate the function
- Specified by:
evaluateItem
in interface EvaluableItem
- Overrides:
evaluateItem
in class Expression
- 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
Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.