net.sf.saxon.om
Class Navigator.BaseEnumeration
- Navigator
- AxisIterator, SequenceIterator, UnfailingIterator
public static abstract class Navigator.BaseEnumeration
BaseEnumeration is an abstract implementation of an AxisIterator, it
simplifies the implementation of the underlying AxisIterator by requiring
it to provide only two methods: advance(), and getAnother().
NOTA BENE: BaseEnumeration does not maintain the value of the position variable.
It must therefore either (a) be wrapped in an AxisFilter, which does maintain
position, or (b) be subclassed by a class that maintains position itself.
abstract void | advance() - The advance() method must be provided in each concrete implementation.
|
abstract SequenceIterator | getAnother() - Get another iterator over the same sequence of items, positioned at the
start of the sequence.
|
Item | next() - Get the next item in the sequence.
|
advance
public abstract void advance()
The advance() method must be provided in each concrete implementation.
It must leave the variable current set to the next node to be returned in the
iteration, or to null if there are no more nodes to be returned.
getAnother
public abstract SequenceIterator getAnother()
Get another iterator over the same sequence of items, positioned at the
start of the sequence. It must be possible to call this method at any time, whether
none, some, or all of the items in the original iterator have been read. The method
is non-destructive: it does not change the state of the original iterator.
- getAnother in interface UnfailingIterator
- getAnother in interface SequenceIterator
- a new iterator over the same sequence