Package 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:
java.io.Serializable
,javax.xml.transform.SourceLocator
,Container
,Expression
,InstructionInfoProvider
public class Aggregate extends SystemFunction
This class implements the sum(), avg(), count() functions,- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
AVG
static int
COUNT
static int
SUM
-
Fields inherited from class net.sf.saxon.functions.SystemFunction
operation
-
Fields inherited from class net.sf.saxon.expr.FunctionCall
argument
-
Fields inherited from class net.sf.saxon.expr.ComputedExpression
locationId, staticProperties
-
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
-
-
Constructor Summary
Constructors Constructor Description Aggregate()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkArguments(StaticContext env)
Static analysis: prevent sorting of the argumentstatic int
count(SequenceIterator iter)
Get the number of items in a sequence identified by a SequenceIteratorItem
evaluateItem(XPathContext context)
Evaluate the functionItemType
getItemType(TypeHierarchy th)
Determine the item type of the value returned by the functionstatic boolean
isCountFunction(Expression exp)
Determine whether a given expression is a call to the count() function-
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, getArguments, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionNameCode, simplify, simplifyArguments, typeCheck
-
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, 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, setParentExpression, suppressValidation, typeError
-
-
-
-
Field Detail
-
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
-
-
Method Detail
-
checkArguments
public void checkArguments(StaticContext env) throws XPathException
Static analysis: prevent sorting of the argument- Overrides:
checkArguments
in classSystemFunction
- Throws:
XPathException
-
getItemType
public ItemType getItemType(TypeHierarchy th)
Determine the item type of the value returned by the function- Specified by:
getItemType
in interfaceExpression
- Overrides:
getItemType
in classSystemFunction
- Parameters:
th
-- 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 interfaceExpression
- Overrides:
evaluateItem
in classComputedExpression
- 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
-
-