net.sf.saxon.expr.sort
Class SortedGroupIterator
java.lang.Object
net.sf.saxon.expr.sort.SortedIterator
net.sf.saxon.expr.sort.SortedGroupIterator
- All Implemented Interfaces:
- LastPositionFinder, GroupIterator, Sortable, SequenceIterator, LookaheadIterator
public class SortedGroupIterator
- extends SortedIterator
- implements GroupIterator
A SortedGroupIterator is a modified SortedIterator. It sorts a sequence of groups,
and is itself a GroupIterator. The modifications retain extra information about
the items being sorted. The items are each the leading item of a group, and as well
as the item itself, the iterator preserves information about the group: specifically,
an iterator over the items in the group, and the value of the grouping key (if any).
Methods inherited from class net.sf.saxon.expr.sort.SortedIterator |
close, compare, current, getAnother, getLastPosition, getProperties, hasNext, next, position, setHostLanguage, swap |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SortedGroupIterator
public SortedGroupIterator(XPathContext context,
GroupIterator base,
SortKeyEvaluator sortKeyEvaluator,
AtomicComparer[] comparators,
Instruction origin)
buildArray
protected void buildArray()
throws XPathException
- Override the method that builds the array of values and sort keys.
- Overrides:
buildArray
in class SortedIterator
- Throws:
XPathException
getCurrentGroupingKey
public AtomicValue getCurrentGroupingKey()
- Description copied from interface:
GroupIterator
- Get the grouping key of the current group
- Specified by:
getCurrentGroupingKey
in interface GroupIterator
- Returns:
- the current grouping key in the case of group-by or group-adjacent,
or null in the case of group-starting-with and group-ending-with
iterateCurrentGroup
public SequenceIterator iterateCurrentGroup()
throws XPathException
- Description copied from interface:
GroupIterator
- Get an iterator over the members of the current group, in population
order. This must always be a clean iterator, that is, an iterator that
starts at the first item of the group.
- Specified by:
iterateCurrentGroup
in interface GroupIterator
- Returns:
- an iterator over all the members of the current group, in population
order.
- Throws:
XPathException
Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.