|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.sort.GroupByIterator
A GroupByIterator iterates over a sequence of groups defined by xsl:for-each-group group-by="x". The groups are returned in order of first appearance. Note that an item can appear in several groups; indeed, an item may be the leading item of more than one group, which means that knowing the leading item is not enough to know the current group.
The GroupByIterator acts as a SequenceIterator, where successive calls of next() return the leading item of each group in turn. The current item of the iterator is therefore the leading item of the current group. To get access to all the members of the current group, the method iterateCurrentGroup() is used; this underpins the current-group() function in XSLT. The grouping key for the current group is available via the getCurrentGroupingKey() method.
Constructor Summary | |
GroupByIterator(SequenceIterator population,
Expression keyExpression,
XPathContext keyContext,
Collator collator)
|
Method Summary | |
Item |
current()
Get the current value in the sequence (the one returned by the most recent call on next()). |
SequenceIterator |
getAnother()
Get another SequenceIterator that iterates over the same items as the original, but which is repositioned at the start of the sequence. |
AtomicValue |
getCurrentGroupingKey()
Get the value of the grouping key for the current group |
SequenceIterator |
iterateCurrentGroup()
Get an iterator over the items in the current group |
Item |
next()
Get the next item in the sequence. |
int |
position()
Get the current position. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public GroupByIterator(SequenceIterator population, Expression keyExpression, XPathContext keyContext, Collator collator) throws XPathException
Method Detail |
public AtomicValue getCurrentGroupingKey()
getCurrentGroupingKey
in interface GroupIterator
public SequenceIterator iterateCurrentGroup()
iterateCurrentGroup
in interface GroupIterator
public Item next() throws XPathException
SequenceIterator
next
in interface SequenceIterator
XPathException
- if an error occurs retrieving the next itempublic Item current()
SequenceIterator
current
in interface SequenceIterator
public int position()
SequenceIterator
position
in interface SequenceIterator
public SequenceIterator getAnother() throws XPathException
SequenceIterator
getAnother
in interface SequenceIterator
XPathException
- if any error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |