| java.lang.Object gnu.lists.SeqPosition
All known Subclasses: gnu.lists.TreePosition, gnu.lists.ExtPosition, gnu.jemacs.buffer.Marker, gnu.kawa.xml.KNode,
SeqPosition | public class SeqPosition implements java.util.ListIterator,java.util.Enumeration(Code) | | A position in a sequence (list).
Conceptually similar to Java2's ListIterator, but we use the name "Position"
to indicate that it can be used to both indicate a position in a sequence
and to iterate through a sequence. If you use a SeqPosition as a
"position", you would not modify if (though it is possible the offset
of the position in the sequence may change due to other update operations
on the sequence). If you use a SeqPosition as an "iterator", you would
initialize it to some beginnning position, and then modify the current
position of the SeqPosition so it refers to successive elements.
See the package overview
for more information.
|
Field Summary | |
public int | ipos An integer that (together with xpos) indicates the current position. | public AbstractSequence | sequence The Sequence relative to which ipos and xpos have meaning. |
ipos | public int ipos(Code) | | An integer that (together with xpos) indicates the current position.
The actual value has no meaning, except as interpreted by sequence.
|
sequence | public AbstractSequence sequence(Code) | | The Sequence relative to which ipos and xpos have meaning.
This is normally the same as the Sequence we iterate through.
However, if this is a TreePosition, it may an ancestor instead.
|
SeqPosition | public SeqPosition()(Code) | | |
finalize | public void finalize()(Code) | | |
fromEndIndex | final public int fromEndIndex()(Code) | | |
getContainingSequenceSize | public int getContainingSequenceSize()(Code) | | |
getNext | public Object getNext()(Code) | | Get element following current position.
Does not move the position, in contrast to next() method.
EOF if at end of sequence, otherwise the value following. |
getNextKind | public int getNextKind()(Code) | | Return a code (defined in Sequence) for the type of the next element.
|
getNextTypeName | public String getNextTypeName()(Code) | | Get the "tag name" for the next element, if any.
|
getNextTypeObject | public Object getNextTypeObject()(Code) | | Get the "tag object" for the next element, if any.
|
getPos | public int getPos()(Code) | | Get a position int "cookie" for this SeqPosition.
The result can be passed to AbstractSequence's getPosNext(int),
createRelativePos, and other methods.
By default this is the value of ipos, but for sequences that need emore
state than an ipos for efficient position, we use a PositionManager index.
So this gets over-ridden in ExtPosition.
|
getPrevious | public Object getPrevious()(Code) | | Get element before the current position.
Does not move the position, in contrast to previous() method.
EOF if at beginning of sequence, otherwise the value prior. |
gotoChildrenStart | public boolean gotoChildrenStart()(Code) | | Set position before first child (of the element following position).
true if there is a child sequence (which might be empty);false if current position is end of sequence or following elementis atomic (cannot have children). |
gotoNext | public boolean gotoNext()(Code) | | Move one element forwards, if possible.
if we succeeded in moving forwards (i.e. not at end of sequence). |
gotoPrevious | public boolean gotoPrevious()(Code) | | Move backwards one element.
false iff already at beginning. |
hasMoreElements | final public boolean hasMoreElements()(Code) | | True if there is an element following the current position.
False if we are at the end. See java.util.Enumeration.
|
hasNext | public boolean hasNext()(Code) | | See java.util.Iterator.
|
hasPrevious | public boolean hasPrevious()(Code) | | See java.util.Iterator.
|
isAfter | public boolean isAfter()(Code) | | Tests whether the position pair has the "isAfter" property.
I.e. if something is inserted at the position, will
the iterator end up being after the new data?
A toNext() or next() command should set isAfter() to true;
a toPrevious or previous command should set isAfter() to false.
|
make | public static SeqPosition make(AbstractSequence seq, int ipos)(Code) | | Creates a new SeqPosition, from a position pair.
The position pair is copied (using copyPos).
|
nextElement | final public Object nextElement()(Code) | | See java.util.Enumeration.
|
nextIndex | public int nextIndex()(Code) | | See java.util.Iterator.
|
previous | public Object previous()(Code) | | See java.util.ListIterator.
|
previousIndex | final public int previousIndex()(Code) | | See java.util.Iterator.
|
release | public void release()(Code) | | |
remove | public void remove()(Code) | | |
setPos | public void setPos(int ipos)(Code) | | |
|
|