public class ManualIterator extends java.lang.Object implements FocusIterator, SequenceIterator, ReversibleIterator, LastPositionFinder, GroundedIterator, LookaheadIterator
| Constructor and Description |
|---|
ManualIterator()
Create an uninitialized ManualIterator: this is only usable after the context item, position, and size (if required)
have been initialized using setter methods.
|
ManualIterator(Item value)
Create a ManualIterator supplying the context item, and setting the value of
both "position()" and "last()" implicitly to 1.
|
ManualIterator(Item value,
int position)
Create a ManualIterator initializing the context item and position.
|
| Modifier and Type | Method and Description |
|---|---|
Item |
current()
Get the current value in the sequence (the one returned by the
most recent call on next()).
|
int |
getLength()
Get the position of the last item 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.
|
ManualIterator |
getReverseIterator()
Get a new SequenceIterator that returns the same items in reverse order.
|
boolean |
hasNext()
Determine whether there are more items to come.
|
void |
incrementPosition() |
boolean |
isActuallyGrounded()
Ask if the iterator is actually grounded.
|
GroundedValue |
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 |
setContextItem(Item value) |
void |
setLengthFinder(java.util.function.Supplier<java.lang.Integer> finder) |
void |
setPosition(int position) |
boolean |
supportsGetLength()
Ask whether this iterator supports use of the
getLength() method. |
boolean |
supportsHasNext()
Ask whether the hasNext() method can be called.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, dischargepublic ManualIterator()
public ManualIterator(Item value, int position)
value - the context item. May be null if the value is to be initialized later.position - the context positionpublic ManualIterator(Item value)
value - the context itempublic void setContextItem(Item value)
public void setLengthFinder(java.util.function.Supplier<java.lang.Integer> finder)
public void incrementPosition()
public void setPosition(int position)
public boolean supportsHasNext()
LookaheadIteratorsupportsHasNext in interface LookaheadIteratorLookaheadIterator.hasNext() method is availablepublic boolean hasNext()
hasNext in interface LookaheadIteratorpublic Item next()
SequenceIteratornext in interface SequenceIteratorpublic Item current()
FocusIteratorcurrent in interface FocusIteratorpublic int position()
position in interface FocusIteratorpublic boolean supportsGetLength()
getLength() method. This
method should always be called before calling getLength(), because an iterator
that implements this interface may support use of getLength() in some situations
and not in otherssupportsGetLength in interface LastPositionFindergetLength() method can be called to determine the length
of the underlying sequence.public int getLength()
FocusIteratorgetLength in interface LastPositionFindergetLength in interface FocusIteratorpublic 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 ManualIterator getReverseIterator()
ReversibleIteratorgetReverseIterator in interface ReversibleIteratorpublic GroundedValue materialize()
materialize in interface GroundedIteratorpublic GroundedValue getResidue()
GroundedIteratorgetResidue in interface GroundedIteratorCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.