Package net.sf.saxon.expr.flwor
Class OrderByClause
- java.lang.Object
-
- net.sf.saxon.expr.flwor.Clause
-
- net.sf.saxon.expr.flwor.OrderByClause
-
public class OrderByClause extends Clause
This class represents an "order by" clause in a FLWOR expression
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.saxon.expr.flwor.Clause
Clause.ClauseName
-
-
Field Summary
Fields Modifier and Type Field Description static OperandRoleSORT_KEYS_ROLE
-
Constructor Summary
Constructors Constructor Description OrderByClause(FLWORExpression flwor, SortKeyDefinition[] sortKeys, TupleExpression tupleExpression)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)Collect information about the navigation paths followed by this clause, for document projection purposesbooleancontainsNonInlineableVariableReference(Binding binding)Determine whether the clause contains a reference to a local variable binding that cannot be inlinedOrderByClausecopy(FLWORExpression flwor, RebindingMap rebindings)Create a copy of this clauseAtomicValueevaluateSortKey(int n, XPathContext c)Callback for evaluating the sort keysvoidexplain(ExpressionPresenter out)Diagnostic print of expression structure.AtomicComparer[]getAtomicComparers()Clause.ClauseNamegetClauseKey()Get a keyword identifying what kind of clause this isTuplePullgetPullStream(TuplePull base, XPathContext context)Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifiesTuplePushgetPushStream(TuplePush destination, Outputter output, XPathContext context)Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple streamSortKeyDefinitionListgetSortKeyDefinitions()TupleExpressiongetTupleExpression()voidprocessOperands(OperandProcessor processor)Process the subexpressions of this clausejava.lang.StringtoString()voidtypeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo)Type-check the expression-
Methods inherited from class net.sf.saxon.expr.flwor.Clause
gatherVariableReferences, getConfiguration, getLocation, getPackageData, getRangeVariables, getTraceInfo, isRepeated, optimize, refineVariableType, setLocation, setPackageData, setRepeated, toShortString
-
-
-
-
Field Detail
-
SORT_KEYS_ROLE
public static final OperandRole SORT_KEYS_ROLE
-
-
Constructor Detail
-
OrderByClause
public OrderByClause(FLWORExpression flwor, SortKeyDefinition[] sortKeys, TupleExpression tupleExpression)
-
-
Method Detail
-
getClauseKey
public Clause.ClauseName getClauseKey()
Description copied from class:ClauseGet a keyword identifying what kind of clause this is- Specified by:
getClauseKeyin classClause- Returns:
- the kind of clause
-
containsNonInlineableVariableReference
public boolean containsNonInlineableVariableReference(Binding binding)
Description copied from class:ClauseDetermine whether the clause contains a reference to a local variable binding that cannot be inlined- Overrides:
containsNonInlineableVariableReferencein classClause- Parameters:
binding- the binding for the local variable in question- Returns:
- true if this clause uses the variable in a way that does not permit inlining
-
copy
public OrderByClause copy(FLWORExpression flwor, RebindingMap rebindings)
Description copied from class:ClauseCreate a copy of this clause
-
getSortKeyDefinitions
public SortKeyDefinitionList getSortKeyDefinitions()
-
getAtomicComparers
public AtomicComparer[] getAtomicComparers()
-
getTupleExpression
public TupleExpression getTupleExpression()
-
getPullStream
public TuplePull getPullStream(TuplePull base, XPathContext context)
Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies- Specified by:
getPullStreamin classClause- Parameters:
base- the input tuple streamcontext- XQuery dynamic context- Returns:
- the output tuple stream
-
getPushStream
public TuplePush getPushStream(TuplePush destination, Outputter output, XPathContext context)
Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream- Specified by:
getPushStreamin classClause- Parameters:
destination- the output tuple streamoutput- the destination for the resultcontext- XQuery dynamic context- Returns:
- the push tuple stream that implements the functionality of this clause of the FLWOR expression
-
processOperands
public void processOperands(OperandProcessor processor) throws XPathException
Process the subexpressions of this clause- Specified by:
processOperandsin classClause- Parameters:
processor- the expression processor used to process the subexpressions- Throws:
XPathException- if any error is detected
-
typeCheck
public void typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException
Type-check the expression- Overrides:
typeCheckin classClause- Parameters:
visitor- the ExpressionVisitor, providing access to static context informationcontextInfo- static information about the dynamic context- Throws:
XPathException- if any error is detected
-
addToPathMap
public void addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)
Description copied from class:ClauseCollect information about the navigation paths followed by this clause, for document projection purposes- Specified by:
addToPathMapin classClause- Parameters:
pathMap- the path map in which the data is to be collectedpathMapNodeSet- the path map node set representing the paths to the context item
-
explain
public void explain(ExpressionPresenter out) throws XPathException
Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.- Specified by:
explainin classClause- Parameters:
out- the expression presenter used to display the structure- Throws:
XPathException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
evaluateSortKey
public AtomicValue evaluateSortKey(int n, XPathContext c) throws XPathException
Callback for evaluating the sort keys- Parameters:
n- identifies the sort key to be evaluatedc- the dynamic context for evaluation of the sort key- Returns:
- the value of the sort key
- Throws:
XPathException- if evaluation of the sort key fails
-
-