public class Count 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 |
---|
Count() |
Modifier and Type | Method and Description |
---|---|
IntegerValue |
call(XPathContext context,
Sequence[] arguments)
Evaluate the expression
|
static int |
count(SequenceIterator iter)
Get the number of items in a sequence identified by a SequenceIterator
|
Int64Value |
evaluateItem(XPathContext context)
Evaluate 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
|
IntegerValue[] |
getIntegerBounds()
For an expression that returns an integer or a sequence of integers, get
a lower and upper bound on the values of the integers that may be returned, from
static analysis.
|
CountAdjunct |
getStreamingAdjunct()
Get a class that supports streamed evaluation of this expression
|
Expression |
optimize(ExpressionVisitor visitor,
ContextItemStaticInfo contextItemType)
Perform optimisation of an expression and its subexpressions.
|
iterate
addContextDocumentArgument, addDocToPathMap, bindStaticContext, checkArguments, computeCardinality, computeSpecialProperties, copy, equalOrNull, equals, getContextNode, getConvertingCallable, getDefaultArgumentNode, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getItemType, 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, 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
SystemFunctionCall
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()
FoldingFunction
getImplementationMethod
in class FoldingFunction
public IntegerValue[] getIntegerBounds()
getIntegerBounds
in class Expression
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 Int64Value evaluateItem(XPathContext context) throws XPathException
evaluateItem
in class FoldingFunction
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic static int count(SequenceIterator iter) throws XPathException
iter
- The SequenceIterator. This method moves the current position
of the supplied iterator; if this isn't safe, make a copy of the iterator
first by calling getAnother(). The supplied iterator must be positioned
before the first item (there must have been no call on next()).XPathException
- if a failure occurs reading the input sequencepublic IntegerValue call(XPathContext context, Sequence[] arguments) throws XPathException
call
in interface Callable
call
in class FoldingFunction
context
- the dynamic evaluation contextarguments
- the values of the arguments, supplied as SequencesXPathException
- if a dynamic error occurs during the evaluation of the expressionpublic CountAdjunct getStreamingAdjunct()
getStreamingAdjunct
in class FoldingFunction
public ExpressionCompiler getExpressionCompiler()
getExpressionCompiler
in class Expression
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.