public static class ZenoSequence.ZenoSequenceIterator extends java.lang.Object implements GroundedIterator, LastPositionFinder, LookaheadIterator
| Constructor and Description |
|---|
ZenoSequenceIterator(ZenoSequence sequence) |
| Modifier and Type | Method and Description |
|---|---|
int |
getLength()
Get the last position (that is, the number of items in the sequence).
|
GroundedValue |
getResidue()
Return a GroundedValue containing all the remaining items in the sequence returned by this
SequenceIterator, starting at the current position.
|
boolean |
hasNext()
Determine whether there are more items to come.
|
boolean |
isActuallyGrounded()
Ask if the iterator is actually grounded.
|
GroundedValue |
materialize()
Create a GroundedValue (a sequence materialized in memory) containing all the values delivered
by this SequenceIterator.
|
Item |
next()
Get the next item in the sequence.
|
boolean |
supportsGetLength()
Ask whether this iterator supports use of the
LastPositionFinder.getLength() method. |
boolean |
supportsHasNext()
Ask whether the hasNext() method can be called.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, dischargepublic ZenoSequenceIterator(ZenoSequence sequence)
public Item next()
SequenceIteratornext in interface SequenceIteratorpublic boolean supportsGetLength()
LastPositionFinderLastPositionFinder.getLength() method. This
method should always be called before calling LastPositionFinder.getLength(), because an iterator
that implements this interface may support use of LastPositionFinder.getLength() in some situations
and not in otherssupportsGetLength in interface LastPositionFinderLastPositionFinder.getLength() method can be called to determine the length
of the underlying sequence.public int getLength()
LastPositionFinderLastPositionFinder.supportsGetLength() has been called
and has returned true.getLength in interface LastPositionFinderpublic boolean isActuallyGrounded()
GroundedIteratorGroundedIterator.materialize() or GroundedIterator.getResidue(), because the iterator might
be grounded under some conditions and not others (usually when it delegates
to another iterator)isActuallyGrounded in interface GroundedIteratorpublic GroundedValue getResidue()
GroundedIteratorgetResidue in interface GroundedIteratorpublic GroundedValue materialize()
GroundedIteratorIt is implementation-dependant whether this method consumes the SequenceIterator. (More specifically,
in the current implementation: if the iterator is backed by a GroundedValue, then that
value is returned and the iterator is not consumed; otherwise, the iterator is consumed and the
method returns the remaining items after the current position only).
materialize in interface GroundedIteratorpublic boolean supportsHasNext()
LookaheadIteratorsupportsHasNext in interface LookaheadIteratorLookaheadIterator.hasNext() method is availablepublic boolean hasNext()
LookaheadIteratorThis method must not be called unless the result of LookaheadIterator.supportsHasNext()
is true.
hasNext in interface LookaheadIteratorCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.