Package net.sf.saxon.functions
Class FoldingFunction
java.lang.Object
net.sf.saxon.functions.AbstractFunction
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.FoldingFunction
- All Implemented Interfaces:
- Callable,- FunctionItem,- GroundedValue,- Item,- Sequence
- Direct Known Subclasses:
- ArrayFunctionSet.ArrayFromSequence,- Average,- FoldLeftFn,- StringJoin,- Sum
Implementation of aggregate functions such as sum() and avg() that supply a fold() function. Such
 functions are automatically streamable.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptioncall(XPathContext context, Sequence[] arguments) Evaluate the expressionabstract FoldgetFold(XPathContext context, Sequence... additionalArguments) Create the Fold object which actually performs the evaluation.Get a name that identifies the class that can be used to evaluate this function in streaming mode, that is, supplying one item or event at a time as it is delivered by the parser.Methods inherited from class net.sf.saxon.functions.SystemFunctiondependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getElaborator, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getUniStringArg, hashCode, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeFunctionCall, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCallerMethods inherited from class net.sf.saxon.functions.AbstractFunctionatomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheckMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.sf.saxon.om.FunctionItemgetGenreMethods inherited from interface net.sf.saxon.om.GroundedValueasIterable, concatenate, containsNode, materializeMethods inherited from interface net.sf.saxon.om.ItemgetLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequenceMethods inherited from interface net.sf.saxon.om.SequencemakeRepeatable
- 
Constructor Details- 
FoldingFunctionpublic FoldingFunction()
 
- 
- 
Method Details- 
getFoldpublic abstract Fold getFold(XPathContext context, Sequence... additionalArguments) throws XPathException Create the Fold object which actually performs the evaluation. Must be implemented in every subclass.- Parameters:
- context- the dynamic evaluation context
- additionalArguments- 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
 
- 
callEvaluate the expression- Parameters:
- context- the dynamic evaluation context
- arguments- the values of the arguments, supplied as Sequences
- Returns:
- the result of the evaluation, in the form of a Sequence
- Throws:
- XPathException- if a dynamic error occurs during the evaluation of the expression
 
- 
getStreamerNameDescription copied from class:SystemFunctionGet a name that identifies the class that can be used to evaluate this function in streaming mode, that is, supplying one item or event at a time as it is delivered by the parser. Special streaming support is generally available in Saxon-EE for all system functions that take a sequence as their argument.- Overrides:
- getStreamerNamein class- SystemFunction
- Returns:
- a name that identifies a class that supports streamed evaluation of this system
 function, or null if no such class is available. The mapping of names to classes is
 defined in the Saxon-EE class StreamerMap. In non-streaming Saxon editions (HE and PE) the method always returns null.
 
 
-