|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.ozoneDB.collections.AbstractOzoneList
org.ozoneDB.collections.BaseSequentialListImpl
Abstract superclass to make it easier to implement the List interface when
backed by a sequential-access store, such as a linked list. For random
access data, use AbstractList. This class implements the random access
methods (get
, set
, add
, and
remove
) atop the list iterator, opposite of AbstractList's
approach of implementing the iterator atop random access.
To implement a list, you need an implementation for size()
and listIterator
. With just hasNext
,
next
, hasPrevious
, previous
,
nextIndex
, and previousIndex
, you have an
unmodifiable list. For a modifiable one, add set
, and for
a variable-size list, add add
and remove
.
The programmer should provide a no-argument constructor, and one that accepts another Collection, as recommended by the Collection interface. Unfortunately, there is no way to enforce this in Java.
Collection
,
List
,
AbstractList
,
AbstractCollection
,
ListIterator
,
LinkedList
Constructor Summary | |
protected |
BaseSequentialListImpl()
The main constructor, for use by subclasses. |
Method Summary | |
void |
add(int index,
java.lang.Object o)
Insert an element into the list at a given position (optional operation). |
boolean |
addAll(int index,
java.util.Collection c)
Insert the contents of a collection into the list at a given position (optional operation). |
java.lang.Object |
get(int index)
Get the element at a given index in this list. |
java.util.Iterator |
iterator()
Obtain an Iterator over this list, whose sequence is the list order. |
abstract java.util.ListIterator |
listIterator(int index)
Returns a ListIterator over the list, starting from position index. |
java.lang.Object |
remove(int index)
Remove the element at a given position in this list (optional operation). |
java.lang.Object |
set(int index,
java.lang.Object o)
Replace an element of this list with another object (optional operation). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.ozoneDB.collections.OzoneList |
getClientList |
Methods inherited from interface org.ozoneDB.collections.OzoneCollection |
_org_ozoneDB_internalIterator, add, addAll, clear, getClientCollection, remove, removeAll, retainAll |
Methods inherited from interface java.util.Collection |
contains, containsAll, equals, hashCode, isEmpty, size, toArray, toArray |
Methods inherited from interface org.ozoneDB.OzoneCompatibleOrProxy |
getObjectID |
Methods inherited from interface java.util.List |
add, addAll, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, listIterator, remove, removeAll, retainAll, size, subList, toArray, toArray |
Constructor Detail |
protected BaseSequentialListImpl()
Method Detail |
public abstract java.util.ListIterator listIterator(int index)
index
- the starting position of the list
java.lang.IndexOutOfBoundsException
- if index < 0 || index > size()public void add(int index, java.lang.Object o)
index
- the location to insert the itemo
- the object to insert
java.lang.UnsupportedOperationException
- if this list does not support the
add operation
java.lang.IndexOutOfBoundsException
- if index < 0 || index > size()
java.lang.ClassCastException
- if o cannot be added to this list due to its
type
java.lang.IllegalArgumentException
- if o cannot be added to this list for
some other reasonpublic boolean addAll(int index, java.util.Collection c)
This implementation grabs listIterator(index), then proceeds to use add for each element returned by c's iterator. Sun's online specs are wrong, claiming that this also calls next(): listIterator.add() correctly skips the added element.
index
- the location to insert the collectionc
- the collection to insert
java.lang.UnsupportedOperationException
- if this list does not support the
addAll operation
java.lang.IndexOutOfBoundsException
- if index < 0 || index > size()
java.lang.ClassCastException
- if some element of c cannot be added to this
list due to its type
java.lang.IllegalArgumentException
- if some element of c cannot be added
to this list for some other reason
java.lang.NullPointerException
- if the specified collection is nulladd(int, Object)
public java.lang.Object get(int index)
index
- the index of the element to be returned
java.lang.IndexOutOfBoundsException
- if index < 0 || index >= size()public java.util.Iterator iterator()
public java.lang.Object remove(int index)
index
- the position within the list of the object to remove
java.lang.UnsupportedOperationException
- if this list does not support the
remove operation
java.lang.IndexOutOfBoundsException
- if index < 0 || index >= size()public java.lang.Object set(int index, java.lang.Object o)
index
- the position within this list of the element to be replacedo
- the object to replace it with
java.lang.UnsupportedOperationException
- if this list does not support the
set operation
java.lang.IndexOutOfBoundsException
- if index < 0 || index >= size()
java.lang.ClassCastException
- if o cannot be added to this list due to its
type
java.lang.IllegalArgumentException
- if o cannot be added to this list for
some other reason
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |