public class Sum extends FoldingFunction
operation
argument
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
Constructor and Description |
---|
Sum() |
Modifier and Type | Method and Description |
---|---|
int |
computeCardinality()
Determine the cardinality of the function.
|
ExpressionCompiler |
getExpressionCompiler()
Return the compiler of the Sum expression
|
Fold |
getFold(XPathContext context,
Sequence... additionalArguments)
Create the Fold object which actually performs the evaluation.
|
int |
getImplementationMethod()
Get implementation method
|
ItemType |
getItemType()
Determine the item type of the value returned by the function
|
Expression |
optimize(ExpressionVisitor visitor,
ContextItemStaticInfo contextItemType)
Perform optimisation of an expression and its subexpressions.
|
static AtomicValue |
total(SequenceIterator in,
XPathContext context,
SourceLocator locator)
Static method to compute a total, invoked from compiled bytecode
|
call, evaluateItem, getStreamingAdjunct, iterate
addContextDocumentArgument, addDocToPathMap, bindStaticContext, checkArguments, computeSpecialProperties, copy, equalOrNull, equals, getContextNode, getConvertingCallable, getDefaultArgumentNode, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getOperation, getRequiredType, makeSystemFunction, operands, setDetails, toShortString, useContextItemAsDefault
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, preEvaluate, promote, replaceOperand, setArguments, setFunctionName, simplifyArguments, toString, typeCheck
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, clearStreamabilityData, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getConfiguration, getConstructType, getContainer, getDependencies, getEvaluationMethod, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLocationId, getObjectName, getPosture, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getStreamability, getSweep, getSystemId, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isIdentical, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, makeStreamingAdjunct, markTailFunctionCalls, operandList, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, setPostureAndSweep, simplify, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError, unordered
public Expression optimize(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType) throws XPathException
This method is called after all references to functions and variables have been resolved to the declaration of the function or variable, and after all type checking has been done.
optimize
in class SystemFunctionCall
visitor
- an expression visitorcontextItemType
- the static type of "." at the point where this expression is invoked.
The parameter is set to null if it is known statically that the context item will be undefined.
If the type of the context item is not known statically, the argument is set to
Type.ITEM_TYPE
XPathException
- if an error is discovered during this phase
(typically a type error)public int getImplementationMethod()
getImplementationMethod
in class FoldingFunction
public ItemType getItemType()
SystemFunctionCall
getItemType
in class SystemFunctionCall
public int computeCardinality()
SystemFunctionCall
computeCardinality
in class SystemFunctionCall
StaticProperty.ALLOWS_ZERO_OR_ONE
,
StaticProperty.EXACTLY_ONE
, StaticProperty.ALLOWS_ONE_OR_MORE
,
StaticProperty.ALLOWS_ZERO_OR_MORE
public Fold getFold(XPathContext context, Sequence... additionalArguments) throws XPathException
getFold
in class FoldingFunction
context
- the dynamic evaluation contextadditionalArguments
- the values of all arguments other than the first.XPathException
- if a dynamic error occurspublic static AtomicValue total(SequenceIterator in, XPathContext context, SourceLocator locator) throws XPathException
in
- the sequence of items to be summedcontext
- dynamic context for evaluationlocator
- expression location for diagnosticsXPathException
- if a dynamic error occurspublic ExpressionCompiler getExpressionCompiler()
getExpressionCompiler
in class Expression
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.