|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.expr.flwor.Clause
com.saxonica.expr.flwor.GroupByClause
public class GroupByClause
This class represents an "group by" clause in a FLWOR expression
| Nested Class Summary | |
|---|---|
static class |
GroupByClause.ObjectToBeGrouped
Inner class representing the contents of a tuple from the pre-grouping tuple stream; a set of such objects consitutes a group. |
class |
GroupByClause.TupleComparisonKey
Inner class representing a tuple comparison key: that is, an arbitrary object whose equals() and hashCode() methods can be used to test whether two tuples have equivalent grouping keys |
| Field Summary |
|---|
| Fields inherited from class net.sf.saxon.expr.flwor.Clause |
|---|
COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, WHERE, WINDOW |
| Constructor Summary | |
|---|---|
GroupByClause(Configuration config)
Create a group-by clause |
|
| Method Summary | |
|---|---|
GroupByClause |
copy()
|
void |
explain(ExpressionPresenter out)
Diagnostic print of expression structure. |
int |
getClauseKey()
Get a keyword identifying what kind of clause this is |
GroupByClause.TupleComparisonKey |
getComparisonKey(Tuple t)
Callback to get the comparison key for a tuple. |
TupleExpression |
getGroupingTupleExpression()
Get the tuple expression that evaluates all the grouping variables, returning the values these variables take in the input stream |
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 |
TuplePush |
getPushStream(TuplePush destination,
XPathContext context)
Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream |
LocalVariableBinding[] |
getRangeVariables()
Get the variables bound by this clause |
TupleExpression |
getRetainedTupleExpression()
Get the tuple expression that evaluates all the non-grouping variables, returning the values these variables take in the grouping input stream |
void |
optimize(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType)
Optimize any expressions contained within this clause |
void |
processGroup(List<GroupByClause.ObjectToBeGrouped> group,
XPathContext context)
Process a group of tuples from the input stream to generate a single tuple in the output stream. |
void |
processSubExpressions(ExpressionProcessor processor)
Process the subexpressions of this clause |
void |
setComparers(GenericAtomicComparer[] comparers)
Set the comparers used for the grouping keys. |
void |
setGroupingTupleExpression(TupleExpression expr)
Set a tuple expression that evaluates all the grouping variables, returning the values these variables take in the input stream |
void |
setRetainedTupleExpression(TupleExpression expr)
Set a tuple expression that evaluates all the non-grouping variables, returning the values these variables take in the grouping input stream |
void |
setVariableBindings(LocalVariableBinding[] bindings)
Set the bindings of new variables created by the grouping clause, which constitute the variables appearing in the output (post-grouping) tuple stream. |
String |
toString()
|
| Methods inherited from class net.sf.saxon.expr.flwor.Clause |
|---|
gatherVariableReferences, refineVariableType, typeCheck |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public GroupByClause(Configuration config)
config - the Saxon configuration| Method Detail |
|---|
public int getClauseKey()
Clause
getClauseKey in class Clausepublic GroupByClause copy()
copy in class Clausepublic void setRetainedTupleExpression(TupleExpression expr)
expr - the tuple expressionpublic TupleExpression getRetainedTupleExpression()
public void optimize(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType)
throws XPathException
Clause
optimize in class Clausevisitor - the ExpressionVisitor, providing access to static context informationcontextItemType - the type of the context item
XPathException - if any error is detectedpublic void setGroupingTupleExpression(TupleExpression expr)
expr - the tuple expressionpublic TupleExpression getGroupingTupleExpression()
public void setVariableBindings(LocalVariableBinding[] bindings)
bindings - the bindings of the variables created in the output streampublic LocalVariableBinding[] getRangeVariables()
getRangeVariables in class Clausepublic void setComparers(GenericAtomicComparer[] comparers)
comparers - the comparers for grouping keys.
public TuplePull getPullStream(TuplePull base,
XPathContext context)
getPullStream in class Clausebase - the input tuple streamcontext - the XPath dynamic evaluation context
public TuplePush getPushStream(TuplePush destination,
XPathContext context)
getPushStream in class Clausedestination - the output tuple streamcontext -
public void processSubExpressions(ExpressionProcessor processor)
throws XPathException
processSubExpressions in class Clauseprocessor - the expression processor used to process the subexpressions
XPathException - if any error is detectedpublic void explain(ExpressionPresenter out)
explain in class Clauseout - the expression presenter used to display the structurepublic String toString()
toString in class Object
public void processGroup(List<GroupByClause.ObjectToBeGrouped> group,
XPathContext context)
throws XPathException
group - the group of input tuplescontext - the XPath dynamic evaluation context
XPathExceptionpublic GroupByClause.TupleComparisonKey getComparisonKey(Tuple t)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||