Package net.sf.saxon.functions
Class DistinctValues
- java.lang.Object
-
- net.sf.saxon.expr.Expression
-
- net.sf.saxon.expr.FunctionCall
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.CollatingFunction
-
- net.sf.saxon.functions.DistinctValues
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.SourceLocator
,LocationProvider
,SaxonLocator
,CallableExpression
,InstructionInfo
,org.xml.sax.Locator
public class DistinctValues extends CollatingFunction implements CallableExpression
The XPath 2.0 distinct-values() function- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DistinctValues.DistinctIterator
Iterator class to return the distinct values in a sequence
-
Field Summary
-
Fields inherited from class net.sf.saxon.functions.CollatingFunction
stringCollator
-
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.Expression
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
-
-
Constructor Summary
Constructors Constructor Description DistinctValues()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceIterator
call(SequenceIterator[] arguments, XPathContext context)
Evaluate the expressionvoid
checkArguments(ExpressionVisitor visitor)
Method called during static type checkingAtomicComparer
getAtomicComparer()
Get the AtomicComparer allocated at compile time.SequenceIterator
iterate(XPathContext context)
Evaluate the function to return an iteration of selected values or nodes.AtomicComparer
makeAtomicComparer(XPathContext context)
Get the AtomicComparer, creating it if it was not allocated at compile time.-
Methods inherited from class net.sf.saxon.functions.CollatingFunction
copy, equals, expandCollationURI, getAbsoluteCollationURI, getAtomicComparer, getCollator, getExpressionBaseURI, getStringCollator
-
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, computeCardinality, computeSpecialProperties, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
-
Methods inherited from class net.sf.saxon.expr.FunctionCall
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck
-
Methods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.expr.CallableExpression
getArguments
-
-
-
-
Method Detail
-
checkArguments
public void checkArguments(ExpressionVisitor visitor) throws XPathException
Description copied from class:SystemFunction
Method called during static type checking- Overrides:
checkArguments
in classCollatingFunction
- Parameters:
visitor
- the expression visitor- Throws:
XPathException
- if the arguments are incorrect
-
getAtomicComparer
public AtomicComparer getAtomicComparer()
Get the AtomicComparer allocated at compile time.- Returns:
- the AtomicComparer if one has been allocated at compile time; return null if the collation is not known until run-time
-
makeAtomicComparer
public AtomicComparer makeAtomicComparer(XPathContext context) throws XPathException
Get the AtomicComparer, creating it if it was not allocated at compile time.- Returns:
- the AtomicComparer already allocated if one has been allocated at compile time; otherwise allocate one from knowledge of the collation at run-time
- Throws:
XPathException
-
iterate
public SequenceIterator iterate(XPathContext context) throws XPathException
Evaluate the function to return an iteration of selected values or nodes.- Overrides:
iterate
in classExpression
- Parameters:
context
- supplies the context for evaluation- Returns:
- a SequenceIterator that can be used to iterate over the result of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the expression
-
call
public SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException
Description copied from interface:CallableExpression
Evaluate the expression- Specified by:
call
in interfaceCallableExpression
- Parameters:
arguments
- the values of the arguments, supplied as SequenceIteratorscontext
- the dynamic evaluation context- Returns:
- the result of the evaluation, in the form of a SequenceIterator
- Throws:
XPathException
- if a dynamic error occurs during the evaluation of the expression
-
-