public class SingletonIterator extends java.lang.Object implements AxisIterator, ReversibleIterator, LastPositionFinder, GroundedIterator, LookaheadIterator, AtomizableIterator
ATOMIZABLE, GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD| Modifier and Type | Method and Description |
|---|---|
Item |
current()
Get the current item in the sequence.
|
SequenceIterator |
getAnother()
Get another iterator over the same sequence of items, positioned at the
start of the sequence.
|
int |
getLastPosition()
Get the last position (that is, the number of items in the sequence).
|
int |
getProperties()
Get properties of this iterator, as a bit-significant integer.
|
SequenceIterator |
getReverseIterator()
Get a new SequenceIterator that returns the same items in reverse order.
|
Item |
getValue() |
boolean |
hasNext()
Determine whether there are more items to come.
|
static AxisIterator |
makeIterator(Item item)
Factory method.
|
Value |
materialize()
Return a Value containing all the items in the sequence returned by this
SequenceIterator
|
Item |
next()
Get the next item in the sequence.
|
int |
position()
Return the current position in the sequence.
|
void |
setIsAtomizing(boolean atomizing)
Indicate that any nodes returned in the sequence will be atomized.
|
public static AxisIterator makeIterator(Item item)
item - the item to iterate overpublic boolean hasNext()
hasNext in interface LookaheadIteratorpublic Item next()
AxisIteratornext in interface AxisIteratornext in interface SequenceIteratorpublic Item current()
AxisIteratorcurrent in interface AxisIteratorcurrent in interface SequenceIteratorpublic int position()
position in interface AxisIteratorposition in interface SequenceIteratorpublic int getLastPosition()
LastPositionFinderSequenceIterator.LAST_POSITION_FINDERgetLastPosition in interface LastPositionFinderpublic SequenceIterator getAnother()
AxisIteratorgetAnother in interface AxisIteratorgetAnother in interface SequenceIteratorpublic SequenceIterator getReverseIterator()
ReversibleIteratorgetReverseIterator in interface ReversibleIteratorpublic Item getValue()
public Value materialize()
materialize in interface GroundedIteratorpublic void setIsAtomizing(boolean atomizing)
This implementation attempts atomization of a singleton node if it is untyped. This avoids adding an iterator to iterate over the value in the common case where the typed value of the node is a single atomic value.
setIsAtomizing in interface AtomizableIteratoratomizing - true if the caller of this iterator will atomize any
nodes that are returned, and is therefore willing to accept the typed
value of the nodes instead of the nodes themselves.public int getProperties()
getProperties in interface SequenceIteratorSequenceIterator.GROUNDED, SequenceIterator.LAST_POSITION_FINDER,
and SequenceIterator.LOOKAHEAD. It is always
acceptable to return the value zero, indicating that there are no known special properties.
It is acceptable for the properties of the iterator to change depending on its state.