net.sf.saxon.functions
Class Aggregate
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.Aggregate
- All Implemented Interfaces:
- Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator
- public class Aggregate
- extends SystemFunction
This class implements the sum(), avg(), count() functions,
- See Also:
- Serialized Form
Field Summary |
static int |
AVG
|
static int |
COUNT
|
static int |
SUM
|
Methods inherited from class net.sf.saxon.functions.SystemFunction |
addContextDocumentArgument, computeCardinality, computeSpecialProperties, display, getDetails, getErrorCodeForTypeErrors, getRequiredType, main, makeSystemFunction, setDetails, useContextItemAsDefault |
Methods inherited from class net.sf.saxon.expr.FunctionCall |
checkArgumentCount, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, preEvaluate, promote, setArguments, setFunctionNameCode, simplify, simplifyArguments, typeCheck |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SUM
public static final int SUM
- See Also:
- Constant Field Values
AVG
public static final int AVG
- See Also:
- Constant Field Values
COUNT
public static final int COUNT
- See Also:
- Constant Field Values
Aggregate
public Aggregate()
checkArguments
public void checkArguments(StaticContext env)
throws XPathException
- Static analysis: prevent sorting of the argument
- Overrides:
checkArguments
in class SystemFunction
- Throws:
XPathException
getItemType
public ItemType getItemType(TypeHierarchy th)
- Determine the item type of the value returned by the function
- Specified by:
getItemType
in interface Expression
- Overrides:
getItemType
in class SystemFunction
- Parameters:
th
-
evaluateItem
public Item evaluateItem(XPathContext context)
throws XPathException
- Evaluate the function
- Specified by:
evaluateItem
in interface Expression
- Overrides:
evaluateItem
in class ComputedExpression
- 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
count
public static int count(SequenceIterator iter)
throws XPathException
- Get the number of items in a sequence identified by a SequenceIterator
- Parameters:
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()).
- Returns:
- the number of items in the underlying sequence
- Throws:
XPathException
- if a failure occurs reading the input sequence
isCountFunction
public static boolean isCountFunction(Expression exp)
- Determine whether a given expression is a call to the count() function