Package net.sf.saxon.expr.flwor
Class GroupByClausePush
- java.lang.Object
-
- net.sf.saxon.expr.flwor.TuplePush
-
- net.sf.saxon.expr.flwor.GroupByClausePush
-
public class GroupByClausePush extends TuplePush
Represents the tuple stream delivered by an "group by" clause. This groups the tuple stream supplied as its input, and outputs a new set of tuples one per group of the input tuples. No groups are output until all the groups have been read.
-
-
Constructor Summary
Constructors Constructor Description GroupByClausePush(Outputter outputter, TuplePush destination, GroupByClause groupBy, XPathContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static void
addToGroup(java.lang.Object key, GroupByClause.ObjectToBeGrouped objectToBeGrouped, java.util.List<GroupByClause.ObjectToBeGrouped> group, java.util.HashMap<java.lang.Object,java.util.List<GroupByClause.ObjectToBeGrouped>> map)
protected static void
checkGroupingValues(Sequence[] groupingValues)
void
close()
Close the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be releasedvoid
processTuple(XPathContext context)
Move on to the next tuple.-
Methods inherited from class net.sf.saxon.expr.flwor.TuplePush
getOutputter
-
-
-
-
Constructor Detail
-
GroupByClausePush
public GroupByClausePush(Outputter outputter, TuplePush destination, GroupByClause groupBy, XPathContext context)
-
-
Method Detail
-
processTuple
public void processTuple(XPathContext context) throws XPathException
Move on to the next tuple. Before returning, this method must set all the variables corresponding to the "returned" tuple in the local stack frame associated with the context object- Specified by:
processTuple
in classTuplePush
- Parameters:
context
- the dynamic evaluation context- Throws:
XPathException
- if a dynamic error occurs
-
addToGroup
protected static void addToGroup(java.lang.Object key, GroupByClause.ObjectToBeGrouped objectToBeGrouped, java.util.List<GroupByClause.ObjectToBeGrouped> group, java.util.HashMap<java.lang.Object,java.util.List<GroupByClause.ObjectToBeGrouped>> map)
-
checkGroupingValues
protected static void checkGroupingValues(Sequence[] groupingValues) throws XPathException
- Throws:
XPathException
-
close
public void close() throws XPathException
Close the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be released- Overrides:
close
in classTuplePush
- Throws:
XPathException
- if a dynamic error occurs
-
-