<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.6.0_18) on Fri Dec 09 20:47:42 GMT 2011 --> <TITLE> GroupByClause </TITLE> <META NAME="date" CONTENT="2011-12-09"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="GroupByClause"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/saxonica/expr/flwor/CountClausePush.html" title="class in com.saxonica.expr.flwor"><B>PREV CLASS</B></A> <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/saxonica/expr/flwor/GroupByClause.html" target="_top"><B>FRAMES</B></A> <A HREF="GroupByClause.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#fields_inherited_from_class_net.sf.saxon.expr.flwor.Clause">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> com.saxonica.expr.flwor</FONT> <BR> Class GroupByClause</H2> <PRE> <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">net.sf.saxon.expr.flwor.Clause</A> <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.saxonica.expr.flwor.GroupByClause</B> </PRE> <HR> <DL> <DT><PRE>public class <B>GroupByClause</B><DT>extends <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></DL> </PRE> <P> This class represents an "group by" clause in a FLWOR expression <P> <P> <HR> <P> <!-- ======== NESTED CLASS SUMMARY ======== --> <A NAME="nested_class_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Nested Class Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor">GroupByClause.ObjectToBeGrouped</A></B></CODE> <BR> Inner class representing the contents of a tuple from the pre-grouping tuple stream; a set of such objects consitutes a group.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> class</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.TupleComparisonKey.html" title="class in com.saxonica.expr.flwor">GroupByClause.TupleComparisonKey</A></B></CODE> <BR> 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</TD> </TR> </TABLE> <!-- =========== FIELD SUMMARY =========== --> <A NAME="field_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Field Summary</B></FONT></TH> </TR> </TABLE> <A NAME="fields_inherited_from_class_net.sf.saxon.expr.flwor.Clause"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Fields inherited from class net.sf.saxon.expr.flwor.<A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#COUNT">COUNT</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#FOR">FOR</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#GROUPBYCLAUSE">GROUPBYCLAUSE</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#LET">LET</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#ORDERBYCLAUSE">ORDERBYCLAUSE</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#WHERE">WHERE</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#WINDOW">WINDOW</A></CODE></TD> </TR> </TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#GroupByClause(net.sf.saxon.Configuration)">GroupByClause</A></B>(<A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A> config)</CODE> <BR> Create a group-by clause</TD> </TR> </TABLE> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Method Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html" title="class in com.saxonica.expr.flwor">GroupByClause</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#copy()">copy</A></B>()</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A></B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A> out)</CODE> <BR> Diagnostic print of expression structure.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getClauseKey()">getClauseKey</A></B>()</CODE> <BR> Get a keyword identifying what kind of clause this is</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.TupleComparisonKey.html" title="class in com.saxonica.expr.flwor">GroupByClause.TupleComparisonKey</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getComparisonKey(net.sf.saxon.expr.flwor.Tuple)">getComparisonKey</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/Tuple.html" title="class in net.sf.saxon.expr.flwor">Tuple</A> t)</CODE> <BR> Callback to get the comparison key for a tuple.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getGroupingTupleExpression()">getGroupingTupleExpression</A></B>()</CODE> <BR> Get the tuple expression that evaluates all the grouping variables, returning the values these variables take in the input stream</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getPullStream(net.sf.saxon.expr.flwor.TuplePull, net.sf.saxon.expr.XPathContext)">getPullStream</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A> base, <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A> context)</CODE> <BR> Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getPushStream(net.sf.saxon.expr.flwor.TuplePush, net.sf.saxon.expr.XPathContext)">getPushStream</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A> destination, <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A> context)</CODE> <BR> Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[]</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getRangeVariables()">getRangeVariables</A></B>()</CODE> <BR> Get the variables bound by this clause</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getRetainedTupleExpression()">getRetainedTupleExpression</A></B>()</CODE> <BR> Get the tuple expression that evaluates all the non-grouping variables, returning the values these variables take in the grouping input stream</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">optimize</A></B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A> visitor, <A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A> contextItemType)</CODE> <BR> Optimize any expressions contained within this clause</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#processGroup(java.util.List, net.sf.saxon.expr.XPathContext)">processGroup</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor">GroupByClause.ObjectToBeGrouped</A>> group, <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A> context)</CODE> <BR> Process a group of tuples from the input stream to generate a single tuple in the output stream.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#processSubExpressions(net.sf.saxon.expr.flwor.ExpressionProcessor)">processSubExpressions</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/ExpressionProcessor.html" title="interface in net.sf.saxon.expr.flwor">ExpressionProcessor</A> processor)</CODE> <BR> Process the subexpressions of this clause</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setComparers(net.sf.saxon.expr.sort.GenericAtomicComparer[])">setComparers</A></B>(<A HREF="../../../../net/sf/saxon/expr/sort/GenericAtomicComparer.html" title="class in net.sf.saxon.expr.sort">GenericAtomicComparer</A>[] comparers)</CODE> <BR> Set the comparers used for the grouping keys.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setGroupingTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)">setGroupingTupleExpression</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> expr)</CODE> <BR> Set a tuple expression that evaluates all the grouping variables, returning the values these variables take in the input stream</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setRetainedTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)">setRetainedTupleExpression</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> expr)</CODE> <BR> Set a tuple expression that evaluates all the non-grouping variables, returning the values these variables take in the grouping input stream</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setVariableBindings(net.sf.saxon.expr.flwor.LocalVariableBinding[])">setVariableBindings</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[] bindings)</CODE> <BR> Set the bindings of new variables created by the grouping clause, which constitute the variables appearing in the output (post-grouping) tuple stream.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#toString()">toString</A></B>()</CODE> <BR> </TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_net.sf.saxon.expr.flwor.Clause"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class net.sf.saxon.expr.flwor.<A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#gatherVariableReferences(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.Binding, java.util.List)">gatherVariableReferences</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#refineVariableType(net.sf.saxon.expr.parser.ExpressionVisitor, java.util.List, net.sf.saxon.expr.Expression)">refineVariableType</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor)">typeCheck</A></CODE></TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> </TR> </TABLE> <P> <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Constructor Detail</B></FONT></TH> </TR> </TABLE> <A NAME="GroupByClause(net.sf.saxon.Configuration)"><!-- --></A><H3> GroupByClause</H3> <PRE> public <B>GroupByClause</B>(<A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A> config)</PRE> <DL> <DD>Create a group-by clause <P> <DL> <DT><B>Parameters:</B><DD><CODE>config</CODE> - the Saxon configuration</DL> </DL> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Method Detail</B></FONT></TH> </TR> </TABLE> <A NAME="getClauseKey()"><!-- --></A><H3> getClauseKey</H3> <PRE> public int <B>getClauseKey</B>()</PRE> <DL> <DD><B>Description copied from class: <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getClauseKey()">Clause</A></CODE></B></DD> <DD>Get a keyword identifying what kind of clause this is <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getClauseKey()">getClauseKey</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the kind of clause</DL> </DD> </DL> <HR> <A NAME="copy()"><!-- --></A><H3> copy</H3> <PRE> public <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html" title="class in com.saxonica.expr.flwor">GroupByClause</A> <B>copy</B>()</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#copy()">copy</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="setRetainedTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)"><!-- --></A><H3> setRetainedTupleExpression</H3> <PRE> public void <B>setRetainedTupleExpression</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> expr)</PRE> <DL> <DD>Set a tuple expression that evaluates all the non-grouping variables, returning the values these variables take in the grouping input stream <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>expr</CODE> - the tuple expression</DL> </DD> </DL> <HR> <A NAME="getRetainedTupleExpression()"><!-- --></A><H3> getRetainedTupleExpression</H3> <PRE> public <A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> <B>getRetainedTupleExpression</B>()</PRE> <DL> <DD>Get the tuple expression that evaluates all the non-grouping variables, returning the values these variables take in the grouping input stream <P> <DD><DL> <DT><B>Returns:</B><DD>the tuple expression</DL> </DD> </DL> <HR> <A NAME="optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)"><!-- --></A><H3> optimize</H3> <PRE> public void <B>optimize</B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A> visitor, <A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A> contextItemType) throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE> <DL> <DD><B>Description copied from class: <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">Clause</A></CODE></B></DD> <DD>Optimize any expressions contained within this clause <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">optimize</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>visitor</CODE> - the ExpressionVisitor, providing access to static context information<DD><CODE>contextItemType</CODE> - the type of the context item <DT><B>Throws:</B> <DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if any error is detected</DL> </DD> </DL> <HR> <A NAME="setGroupingTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)"><!-- --></A><H3> setGroupingTupleExpression</H3> <PRE> public void <B>setGroupingTupleExpression</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> expr)</PRE> <DL> <DD>Set a tuple expression that evaluates all the grouping variables, returning the values these variables take in the input stream <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>expr</CODE> - the tuple expression</DL> </DD> </DL> <HR> <A NAME="getGroupingTupleExpression()"><!-- --></A><H3> getGroupingTupleExpression</H3> <PRE> public <A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> <B>getGroupingTupleExpression</B>()</PRE> <DL> <DD>Get the tuple expression that evaluates all the grouping variables, returning the values these variables take in the input stream <P> <DD><DL> <DT><B>Returns:</B><DD>the tuple expression</DL> </DD> </DL> <HR> <A NAME="setVariableBindings(net.sf.saxon.expr.flwor.LocalVariableBinding[])"><!-- --></A><H3> setVariableBindings</H3> <PRE> public void <B>setVariableBindings</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[] bindings)</PRE> <DL> <DD>Set the bindings of new variables created by the grouping clause, which constitute the variables appearing in the output (post-grouping) tuple stream. There will be one of these for each variable in the input (pre-grouping) stream; by convention the bindings for grouping variables precede the bindings for non-grouping (retained) variables, and the order is preserved. <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>bindings</CODE> - the bindings of the variables created in the output stream</DL> </DD> </DL> <HR> <A NAME="getRangeVariables()"><!-- --></A><H3> getRangeVariables</H3> <PRE> public <A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[] <B>getRangeVariables</B>()</PRE> <DL> <DD>Get the variables bound by this clause <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getRangeVariables()">getRangeVariables</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>the variable bindings</DL> </DD> </DL> <HR> <A NAME="setComparers(net.sf.saxon.expr.sort.GenericAtomicComparer[])"><!-- --></A><H3> setComparers</H3> <PRE> public void <B>setComparers</B>(<A HREF="../../../../net/sf/saxon/expr/sort/GenericAtomicComparer.html" title="class in net.sf.saxon.expr.sort">GenericAtomicComparer</A>[] comparers)</PRE> <DL> <DD>Set the comparers used for the grouping keys. There is one comparer for each grouping variable <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>comparers</CODE> - the comparers for grouping keys.</DL> </DD> </DL> <HR> <A NAME="getPullStream(net.sf.saxon.expr.flwor.TuplePull, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3> getPullStream</H3> <PRE> public <A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A> <B>getPullStream</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A> base, <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A> context)</PRE> <DL> <DD>Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getPullStream(net.sf.saxon.expr.flwor.TuplePull, net.sf.saxon.expr.XPathContext)">getPullStream</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>base</CODE> - the input tuple stream<DD><CODE>context</CODE> - the XPath dynamic evaluation context <DT><B>Returns:</B><DD>the output tuple stream</DL> </DD> </DL> <HR> <A NAME="getPushStream(net.sf.saxon.expr.flwor.TuplePush, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3> getPushStream</H3> <PRE> public <A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A> <B>getPushStream</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A> destination, <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A> context)</PRE> <DL> <DD>Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getPushStream(net.sf.saxon.expr.flwor.TuplePush, net.sf.saxon.expr.XPathContext)">getPushStream</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>destination</CODE> - the output tuple stream<DD><CODE>context</CODE> - <DT><B>Returns:</B><DD>the push tuple stream that implements the functionality of this clause of the FLWOR expression</DL> </DD> </DL> <HR> <A NAME="processSubExpressions(net.sf.saxon.expr.flwor.ExpressionProcessor)"><!-- --></A><H3> processSubExpressions</H3> <PRE> public void <B>processSubExpressions</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/ExpressionProcessor.html" title="interface in net.sf.saxon.expr.flwor">ExpressionProcessor</A> processor) throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE> <DL> <DD>Process the subexpressions of this clause <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#processSubExpressions(net.sf.saxon.expr.flwor.ExpressionProcessor)">processSubExpressions</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>processor</CODE> - the expression processor used to process the subexpressions <DT><B>Throws:</B> <DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if any error is detected</DL> </DD> </DL> <HR> <A NAME="explain(net.sf.saxon.trace.ExpressionPresenter)"><!-- --></A><H3> explain</H3> <PRE> public void <B>explain</B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A> out)</PRE> <DL> <DD>Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>out</CODE> - the expression presenter used to display the structure</DL> </DD> </DL> <HR> <A NAME="toString()"><!-- --></A><H3> toString</H3> <PRE> public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE> <DL> <DD><DL> <DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="processGroup(java.util.List, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3> processGroup</H3> <PRE> public void <B>processGroup</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor">GroupByClause.ObjectToBeGrouped</A>> group, <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A> context) throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE> <DL> <DD>Process a group of tuples from the input stream to generate a single tuple in the output stream. This method takes a group of tuples as input, and sets all the required variables in the local stack frame as required to deliver this group as the current tuple in the post-grouping stream <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>group</CODE> - the group of input tuples<DD><CODE>context</CODE> - the XPath dynamic evaluation context <DT><B>Throws:</B> <DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE></DL> </DD> </DL> <HR> <A NAME="getComparisonKey(net.sf.saxon.expr.flwor.Tuple)"><!-- --></A><H3> getComparisonKey</H3> <PRE> public <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.TupleComparisonKey.html" title="class in com.saxonica.expr.flwor">GroupByClause.TupleComparisonKey</A> <B>getComparisonKey</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/Tuple.html" title="class in net.sf.saxon.expr.flwor">Tuple</A> t)</PRE> <DL> <DD>Callback to get the comparison key for a tuple. Two tuples are equal if their comparison keys compare equal using the equals() method. <P> <DD><DL> </DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../com/saxonica/expr/flwor/CountClausePush.html" title="class in com.saxonica.expr.flwor"><B>PREV CLASS</B></A> <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?com/saxonica/expr/flwor/GroupByClause.html" target="_top"><B>FRAMES</B></A> <A HREF="GroupByClause.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#fields_inherited_from_class_net.sf.saxon.expr.flwor.Clause">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> Copyright (c) 2004-2011 Saxonica Limited. All rights reserved. </BODY> </HTML>