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 voidaddToGroup(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 voidcheckGroupingValues(Sequence[] groupingValues)voidclose()Close the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be releasedvoidprocessTuple(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:
processTuplein 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 XPathExceptionClose the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be released- Overrides:
closein classTuplePush- Throws:
XPathException- if a dynamic error occurs
-
-