|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object gnu.lists.AbstractSequence
public abstract class AbstractSequence
An AbstractSequence is used to implement Sequences, and almost all classes that extend AbstractSequence will implement Sequence. However, AbstractSequence itself does not implement Sequence. This is so we can use AbstractSequence to implement classes that are "sequence-like" (such as multi-dimesnional arrays) but are not Sequences. Additionally, a sequence may have zero or more attributes, which are name-value pairs. A sequence may also have a named "type". These extensions are to support XML functionality - it might be cleaner to moe them to a sub-class of Sequence or some interface. Many of the protected methods in Sequence (such as nextIndex) are only intended to be called from SeqPosition or TreePosition, see those.
Constructor Summary | |
---|---|
AbstractSequence()
|
Method Summary | |
---|---|
void |
add(int index,
java.lang.Object o)
See java.util.List. |
boolean |
add(java.lang.Object o)
See java.util.Collection. |
boolean |
addAll(java.util.Collection c)
See java.util.Collection. |
boolean |
addAll(int index,
java.util.Collection c)
See java.util.Collection. |
protected int |
addPos(int ipos,
java.lang.Object value)
Add a value at a specified Pos. |
AbstractSequence |
append(char c)
|
AbstractSequence |
append(java.lang.CharSequence csq)
|
AbstractSequence |
append(java.lang.CharSequence csq,
int start,
int end)
|
java.lang.Object |
baseUriOfPos(int pos)
Return of the base-uri property, if known, of the node at pos. |
void |
clear()
|
static int |
compare(AbstractSequence seq1,
int pos1,
AbstractSequence seq2,
int pos2)
This is used for the XML concept of "document order". |
int |
compare(int ipos1,
int ipos2)
Compare two positions, and indicate their relative order. |
int |
compare(SeqPosition i1,
SeqPosition i2)
|
void |
consume(Consumer out)
|
boolean |
consumeNext(int ipos,
Consumer out)
Copy an element specified by a position pair to a Consumer. |
void |
consumePosRange(int iposStart,
int iposEnd,
Consumer out)
|
boolean |
contains(java.lang.Object o)
See java.util.List. |
boolean |
containsAll(java.util.Collection c)
See java.util.List. |
int |
copyPos(int ipos)
Make a copy of a position int. |
abstract int |
createPos(int index,
boolean isAfter)
Generate a position at a given index. |
int |
createRelativePos(int pos,
int delta,
boolean isAfter)
|
java.util.Enumeration |
elements()
|
int |
endPos()
|
boolean |
equals(int ipos1,
int ipos2)
Compare two positions, and indicate if they are the same position. |
boolean |
equals(java.lang.Object o)
|
void |
fill(int fromIndex,
int toIndex,
java.lang.Object value)
|
void |
fill(java.lang.Object value)
|
void |
fillPosRange(int fromPos,
int toPos,
java.lang.Object value)
|
int |
firstAttributePos(int ipos)
Like firstChildPos. |
int |
firstChildPos(int ipos)
Get position before first child (of the element following position). |
protected int |
fromEndIndex(int ipos)
|
abstract java.lang.Object |
get(int index)
See java.util.List. |
java.lang.Object |
get(int[] indexes)
|
java.lang.Object |
getAttribute(int index)
|
int |
getAttributeLength()
|
protected int |
getContainingSequenceSize(int ipos)
Get the size of the (sub-) sequence containing a given position. |
int |
getEffectiveIndex(int[] indexes)
|
protected int |
getIndexDifference(int ipos1,
int ipos0)
Get offset of (ipos1) relative to (ipos0). |
SeqPosition |
getIterator()
|
SeqPosition |
getIterator(int index)
|
SeqPosition |
getIteratorAtPos(int ipos)
|
int |
getLowBound(int dim)
|
int |
getNextKind(int ipos)
|
java.lang.String |
getNextTypeName(int ipos)
|
java.lang.Object |
getNextTypeObject(int ipos)
|
java.lang.Object |
getPosNext(int ipos)
Get the element following the specified position. |
java.lang.Object |
getPosPrevious(int ipos)
Get the element before the specified position. |
int |
getSize(int dim)
|
protected boolean |
gotoAttributesStart(TreePosition pos)
|
boolean |
gotoChildrenStart(TreePosition pos)
Set position before first child (of the element following position). |
protected boolean |
gotoParent(TreePosition pos)
|
int |
hashCode()
|
boolean |
hasNext(int ipos)
|
protected boolean |
hasPrevious(int ipos)
Called by SeqPosition.hasPrevious. |
int |
indexOf(java.lang.Object o)
See java.util.List. |
protected boolean |
isAfterPos(int ipos)
Tests whether the position has the "isAfter" property. |
boolean |
isEmpty()
|
java.util.Iterator |
iterator()
|
int |
lastIndexOf(java.lang.Object o)
See java.util.List. |
java.util.ListIterator |
listIterator()
|
java.util.ListIterator |
listIterator(int index)
|
protected int |
nextIndex(int ipos)
Get the offset from the beginning corresponding to a position cookie. |
int |
nextIndex(SeqPosition pos)
|
int |
nextMatching(int startPos,
ElementPredicate type,
int endPos,
boolean descend)
Get next matching child or descendent (ignoring attributes). |
int |
nextPos(int ipos)
Return the next position following the argument. |
int |
parentPos(int ipos)
Get position of parent. |
int |
previousPos(int ipos)
Return the previous position following the argument. |
int |
rank()
|
protected void |
releasePos(int ipos)
Reclaim any resources used by the given position int. |
java.lang.Object |
remove(int index)
|
boolean |
remove(java.lang.Object o)
|
boolean |
removeAll(java.util.Collection c)
|
void |
removePos(int ipos,
int count)
Remove one or more elements. |
protected void |
removePosRange(int ipos0,
int ipos1)
Remove a range where each end-point is a position in a container. |
boolean |
retainAll(java.util.Collection c)
|
java.lang.Object |
set(int[] indexes,
java.lang.Object value)
|
java.lang.Object |
set(int index,
java.lang.Object element)
|
protected void |
setPosNext(int ipos,
java.lang.Object value)
|
protected void |
setPosPrevious(int ipos,
java.lang.Object value)
|
abstract int |
size()
See java.util.List. |
int |
stableCompare(AbstractSequence other)
This is used for the XML concept of "document order". |
int |
startPos()
|
java.util.List |
subList(int fromIx,
int toIx)
|
Sequence |
subSequence(SeqPosition start,
SeqPosition end)
|
protected Sequence |
subSequencePos(int ipos0,
int ipos1)
|
java.lang.Object[] |
toArray()
|
java.lang.Object[] |
toArray(java.lang.Object[] arr)
|
java.lang.String |
toString()
|
void |
toString(java.lang.String sep,
java.lang.StringBuffer sbuf)
|
protected java.lang.RuntimeException |
unsupported(java.lang.String text)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public AbstractSequence()
Method Detail |
---|
public abstract int size()
public boolean isEmpty()
public int rank()
public abstract java.lang.Object get(int index)
public int getEffectiveIndex(int[] indexes)
public java.lang.Object get(int[] indexes)
public java.lang.Object set(int[] indexes, java.lang.Object value)
public int getLowBound(int dim)
public int getSize(int dim)
protected java.lang.RuntimeException unsupported(java.lang.String text)
public AbstractSequence append(char c)
public AbstractSequence append(java.lang.CharSequence csq) throws java.io.IOException
java.io.IOException
public AbstractSequence append(java.lang.CharSequence csq, int start, int end) throws java.io.IOException
java.io.IOException
public java.lang.Object set(int index, java.lang.Object element)
public void fill(java.lang.Object value)
public void fillPosRange(int fromPos, int toPos, java.lang.Object value)
public void fill(int fromIndex, int toIndex, java.lang.Object value)
public int indexOf(java.lang.Object o)
public int lastIndexOf(java.lang.Object o)
public int nextMatching(int startPos, ElementPredicate type, int endPos, boolean descend)
startPos
- starting positiontype
- a test (predicate) to apply to selected elementsendPos
- stop before endPosdescend
- if true do depth-first traversal.
public boolean contains(java.lang.Object o)
public boolean containsAll(java.util.Collection c)
public final java.util.Enumeration elements()
public final SeqPosition getIterator()
public SeqPosition getIterator(int index)
public SeqPosition getIteratorAtPos(int ipos)
public final java.util.Iterator iterator()
public final java.util.ListIterator listIterator()
public final java.util.ListIterator listIterator(int index)
protected int addPos(int ipos, java.lang.Object value)
public boolean add(java.lang.Object o)
public void add(int index, java.lang.Object o)
public boolean addAll(java.util.Collection c)
public boolean addAll(int index, java.util.Collection c)
public void removePos(int ipos, int count)
ipos
- position where elements should be removedcount
- if non-negative, remove that number of elements
following (poses, posNumber); if negative the negative of the number
of elements to remove before (poses, posNumber).
java.lang.IndexOutOfBoundsException
- if (count >= 0 ? (index < 0 || index + count > size())
: (index + count < 0 || index > size())),
where index == nextIndex(ipos, xpos).protected void removePosRange(int ipos0, int ipos1)
ipos0
- start of range, as a poistionipos1
- end of range
java.lang.IndexOutOfBoundsException
- if nextIndex(ipos0) > nextIndex(ipos1)
|| nextIndex(ipos0) < 0 || nextIndex(ipos1) > size()public java.lang.Object remove(int index)
public boolean remove(java.lang.Object o)
public boolean removeAll(java.util.Collection c)
public boolean retainAll(java.util.Collection c)
public void clear()
protected boolean isAfterPos(int ipos)
public abstract int createPos(int index, boolean isAfter)
index
- offset from beginning of desired positionisAfter
- should the position have the isAfter property
java.lang.IndexOutOfBoundsException
- if index is out of boundspublic int createRelativePos(int pos, int delta, boolean isAfter)
public int startPos()
public int endPos()
protected void releasePos(int ipos)
ipos
- the Pos being free'd.public int copyPos(int ipos)
ipos
- the position being copied.
protected int getIndexDifference(int ipos1, int ipos0)
protected int nextIndex(int ipos)
protected int fromEndIndex(int ipos)
protected int getContainingSequenceSize(int ipos)
public boolean hasNext(int ipos)
public int getNextKind(int ipos)
public java.lang.String getNextTypeName(int ipos)
public java.lang.Object getNextTypeObject(int ipos)
protected boolean hasPrevious(int ipos)
public int nextPos(int ipos)
public int previousPos(int ipos)
public final boolean gotoChildrenStart(TreePosition pos)
public int firstChildPos(int ipos)
ipos
- parent position. It is not released by this method.
public int firstAttributePos(int ipos)
public int parentPos(int ipos)
ipos
- child position. It is not released by this method.
protected boolean gotoParent(TreePosition pos)
public int getAttributeLength()
public java.lang.Object getAttribute(int index)
protected boolean gotoAttributesStart(TreePosition pos)
public java.lang.Object getPosNext(int ipos)
ipos
- the specified position.
public java.lang.Object getPosPrevious(int ipos)
ipos
- the specified position.
protected void setPosNext(int ipos, java.lang.Object value)
protected void setPosPrevious(int ipos, java.lang.Object value)
public final int nextIndex(SeqPosition pos)
public java.lang.Object baseUriOfPos(int pos)
public boolean equals(int ipos1, int ipos2)
public int compare(int ipos1, int ipos2)
public final int compare(SeqPosition i1, SeqPosition i2)
public java.lang.Object[] toArray()
public java.lang.Object[] toArray(java.lang.Object[] arr)
public int stableCompare(AbstractSequence other)
public static int compare(AbstractSequence seq1, int pos1, AbstractSequence seq2, int pos2)
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public Sequence subSequence(SeqPosition start, SeqPosition end)
protected Sequence subSequencePos(int ipos0, int ipos1)
public java.util.List subList(int fromIx, int toIx)
public boolean consumeNext(int ipos, Consumer out)
public void consumePosRange(int iposStart, int iposEnd, Consumer out)
public void consume(Consumer out)
public void toString(java.lang.String sep, java.lang.StringBuffer sbuf)
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |