net.sf.saxon.om

Class SingletonIterator

public class SingletonIterator extends Object implements UnfailingIterator, ReversibleIterator, LastPositionFinder, GroundedIterator, LookaheadIterator

SingletonIterator: an iterator over a sequence of zero or one values
Method Summary
voidclose()
Itemcurrent()
SequenceIteratorgetAnother()
intgetLastPosition()
intgetProperties()
Get properties of this iterator, as a bit-significant integer.
SequenceIteratorgetReverseIterator()
ItemgetValue()
booleanhasNext()
Determine whether there are more items to come.
static UnfailingIteratormakeIterator(Item item)
Factory method.
GroundedValuematerialize()
Return a Value containing all the items in the sequence returned by this SequenceIterator
Itemnext()
intposition()
Return the current position in the sequence.

Method Detail

close

public void close()

current

public Item current()

getAnother

public SequenceIterator getAnother()

getLastPosition

public int getLastPosition()

getProperties

public int getProperties()
Get properties of this iterator, as a bit-significant integer.

Returns: the properties of this iterator. This will be some combination of properties such as SingletonIterator, SingletonIterator, and SingletonIterator. 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.

getReverseIterator

public SequenceIterator getReverseIterator()

getValue

public Item getValue()

hasNext

public boolean hasNext()
Determine whether there are more items to come. Note that this operation is stateless and it is not necessary (or usual) to call it before calling next(). It is used only when there is an explicit need to tell if we are at the last element.

Returns: true if there are more items

makeIterator

public static UnfailingIterator makeIterator(Item item)
Factory method.

Parameters: item the item to iterate over

Returns: a SingletonIterator over the supplied item, or an EmptyIterator if the supplied item is null.

materialize

public GroundedValue materialize()
Return a Value containing all the items in the sequence returned by this SequenceIterator

Returns: the corresponding Value. If the value is a closure or a function call package, it will be evaluated and expanded.

next

public Item next()

position

public int position()
Return the current position in the sequence.

Returns: 0 before the first call on next(); 1 before the second call on next(); -1 after the second call on next().