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, wait
close, discharge
public 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()
LookaheadIterator
supportsHasNext
in interface LookaheadIterator
LookaheadIterator.hasNext()
method is availablepublic boolean hasNext()
hasNext
in interface LookaheadIterator
public Item next()
SequenceIterator
next
in interface SequenceIterator
public Item current()
FocusIterator
current
in interface FocusIterator
public int position()
position
in interface FocusIterator
public 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 LastPositionFinder
getLength()
method can be called to determine the length
of the underlying sequence.public int getLength()
FocusIterator
getLength
in interface LastPositionFinder
getLength
in interface FocusIterator
public boolean isActuallyGrounded()
GroundedIterator
GroundedIterator.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 GroundedIterator
public ManualIterator getReverseIterator()
ReversibleIterator
getReverseIterator
in interface ReversibleIterator
public GroundedValue materialize()
materialize
in interface GroundedIterator
public GroundedValue getResidue()
GroundedIterator
getResidue
in interface GroundedIterator
Copyright (c) 2004-2022 Saxonica Limited. All rights reserved.