| 
 | |||||||||
| 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.ObjectToBeGroupedInner class representing the contents of a tuple from the pre-grouping tuple stream; a set of such objects consitutes a group. | 
|  class | GroupByClause.TupleComparisonKeyInner 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 | ||||||||