public abstract class DelegatingEList<E> extends AbstractEList<E> implements java.lang.Cloneable, java.io.Serializable
Modifier and Type | Class and Description |
---|---|
protected class |
DelegatingEList.EIterator<E1>
Deprecated.
|
protected class |
DelegatingEList.EListIterator<E1>
Deprecated.
|
protected class |
DelegatingEList.NonResolvingEIterator<E1>
Deprecated.
|
protected class |
DelegatingEList.NonResolvingEListIterator<E1>
Deprecated.
|
static class |
DelegatingEList.UnmodifiableEList<E>
An unmodifiable version of
DelegatingEList . |
AbstractEList.BasicIndexOutOfBoundsException
Constructor and Description |
---|
DelegatingEList()
Creates an empty instance.
|
DelegatingEList(java.util.Collection<? extends E> collection)
Creates an instance that is a copy of the collection.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addAllUnique(java.util.Collection<? extends E> collection)
Adds each object of the collection to the end of the list;
it does no uniqueness checking.
|
boolean |
addAllUnique(int index,
java.util.Collection<? extends E> collection)
Adds each object of the collection at each successive index in the list
and returns whether any objects were added;
it does no ranging checking or uniqueness checking.
|
boolean |
addAllUnique(int index,
java.lang.Object[] objects,
int start,
int end)
Adds each object from start to end of the array at each successive index in the list
and returns whether any objects were added;
it does no ranging checking or uniqueness checking.
|
boolean |
addAllUnique(java.lang.Object[] objects,
int start,
int end)
Adds each object from start to end of the array at the index of list
and returns whether any objects were added;
it does no ranging checking or uniqueness checking.
|
void |
addUnique(E object)
Adds the object at the end of the list;
it does no uniqueness checking.
|
void |
addUnique(int index,
E object)
Adds the object at the given index in the list;
it does no ranging checking or uniqueness checking.
|
protected E |
basicGet(int index)
Returns the object at the index without
resolving it. |
protected java.util.List<E> |
basicList()
Returns an unsafe list that provides a
non-resolving view of the backing store list. |
void |
clear()
Clears the list of all objects.
|
boolean |
contains(java.lang.Object object)
Returns whether the list contains the object.
|
boolean |
containsAll(java.util.Collection<?> collection)
Returns whether the list contains each object in the collection.
|
protected void |
delegateAdd(E object)
Adds the object at the end of the backing store list.
|
protected void |
delegateAdd(int index,
E object)
Adds the object at the given index in the backing store list.
|
protected java.util.List<E> |
delegateBasicList()
Returns an unsafe list that provides a
non-resolving view of the backing store list. |
protected void |
delegateClear()
Clears the backing store list of all objects.
|
protected boolean |
delegateContains(java.lang.Object object)
Returns whether the backing store list contains the object.
|
protected boolean |
delegateContainsAll(java.util.Collection<?> collection)
Returns whether the backing store list contains each object in the collection.
|
protected boolean |
delegateEquals(java.lang.Object object)
Returns whether the object is a list with corresponding equal objects to those in the backing store list.
|
protected E |
delegateGet(int index)
Returns the object at the index in the backing store list.
|
protected int |
delegateHashCode()
Returns the hash code of the backing store list.
|
protected int |
delegateIndexOf(java.lang.Object object)
Returns the position of the first occurrence of the object in the backing store list.
|
protected boolean |
delegateIsEmpty()
Returns whether the backing store list has zero size.
|
protected java.util.Iterator<E> |
delegateIterator()
Returns an iterator over the backing store list.
|
protected int |
delegateLastIndexOf(java.lang.Object object)
Returns the position of the last occurrence of the object in the backing store list.
|
protected abstract java.util.List<E> |
delegateList()
Returns the list that acts as the backing store.
|
protected java.util.ListIterator<E> |
delegateListIterator()
Returns a list iterator over the backing store list.
|
protected E |
delegateMove(int targetIndex,
int sourceIndex)
Moves the object at the source index in the backing store list by removing it and adding it at the new target index.
|
protected E |
delegateRemove(int index)
Removes the object at the index from the backing store list and returns it.
|
protected E |
delegateSet(int index,
E object)
Sets the object at the index in the backing store list
and returns the old object at the index.
|
protected int |
delegateSize()
Returns the number of objects in the backing store list.
|
protected java.lang.Object[] |
delegateToArray()
Returns an array containing all the objects in the backing store list in sequence.
|
protected <T> T[] |
delegateToArray(T[] array)
Returns an array containing all the objects in the backing store list in sequence.
|
protected java.lang.String |
delegateToString()
Returns a the string form of the backing store list.
|
protected void |
doClear(int oldSize,
java.lang.Object[] oldData)
Does the actual job of clearing all the objects.
|
boolean |
equals(java.lang.Object object)
Returns whether the object is a list with corresponding equal objects.
|
E |
get(int index)
Returns the object at the index.
|
int |
hashCode()
Returns a hash code computed from each object's hash code.
|
int |
indexOf(java.lang.Object object)
Returns the position of the first occurrence of the object in the list.
|
boolean |
isEmpty()
Returns whether the list has zero size.
|
int |
lastIndexOf(java.lang.Object object)
Returns the position of the last occurrence of the object in the list.
|
E |
move(int targetIndex,
int sourceIndex)
Moves the object at the source index of the list to the target index of the list
and returns the moved object.
|
protected E |
primitiveGet(int index)
Returns the object at the index without
resolving it and without range checking the index. |
E |
remove(int index)
Removes the object at the index from the list and returns it.
|
boolean |
remove(java.lang.Object object)
Removes the object from the list and returns whether the object was actually contained by the list.
|
boolean |
removeAll(java.util.Collection<?> collection)
Removes each object of the collection from the list and returns whether any object was actually contained by the list.
|
boolean |
retainAll(java.util.Collection<?> collection)
Removes from the list each object not contained by the collection
and returns whether any object was actually removed.
|
E |
setUnique(int index,
E object)
Sets the object at the index
and returns the old object at the index;
it does no ranging checking or uniqueness checking.
|
int |
size()
Returns the number of objects in the list.
|
java.lang.Object[] |
toArray()
Returns an array containing all the objects in sequence.
|
<T> T[] |
toArray(T[] array)
Returns an array containing all the objects in sequence.
|
java.lang.String |
toString()
Returns a string of the form
"[object1, object2]" . |
add, add, addAll, addAll, basicIterator, basicListIterator, basicListIterator, canContainNull, didAdd, didChange, didClear, didMove, didRemove, didSet, equalObjects, getDuplicates, getNonDuplicates, isUnique, iterator, listIterator, listIterator, move, resolve, set, useEquals, validate
public DelegatingEList()
public DelegatingEList(java.util.Collection<? extends E> collection)
collection
- the initial contents of the list.protected abstract java.util.List<E> delegateList()
public int size()
protected int delegateSize()
public boolean isEmpty()
protected boolean delegateIsEmpty()
public boolean contains(java.lang.Object object)
protected boolean delegateContains(java.lang.Object object)
object
- the object in question.public boolean containsAll(java.util.Collection<?> collection)
containsAll
in interface java.util.Collection<E>
containsAll
in interface java.util.List<E>
containsAll
in class java.util.AbstractCollection<E>
contains(java.lang.Object)
,
AbstractEList.useEquals()
protected boolean delegateContainsAll(java.util.Collection<?> collection)
contains(java.lang.Object)
,
AbstractEList.useEquals()
public int indexOf(java.lang.Object object)
protected int delegateIndexOf(java.lang.Object object)
object
- the object in question.public int lastIndexOf(java.lang.Object object)
protected int delegateLastIndexOf(java.lang.Object object)
object
- the object in question.public java.lang.Object[] toArray()
protected java.lang.Object[] delegateToArray()
public <T> T[] toArray(T[] array)
toArray
in interface java.util.Collection<E>
toArray
in interface java.util.List<E>
toArray
in class java.util.AbstractCollection<E>
array
- the array that will be filled and returned, if it's big enough;
otherwise, a suitably large array of the same type will be allocated and used instead.protected <T> T[] delegateToArray(T[] array)
array
- the array that will be filled and returned, if it's big enough;
otherwise, a suitably large array of the same type will be allocated and used instead.public E get(int index)
resolve
so that clients may transform the fetched object.get
in interface java.util.List<E>
get
in class java.util.AbstractList<E>
index
- the position in question.java.lang.IndexOutOfBoundsException
- if the index isn't within the size range.AbstractEList.resolve(int, E)
,
basicGet(int)
protected E delegateGet(int index)
index
- the position in question.java.lang.IndexOutOfBoundsException
- if the index isn't within the size range.protected E basicGet(int index)
resolving
it.basicGet
in class AbstractEList<E>
index
- the position in question.java.lang.IndexOutOfBoundsException
- if the index isn't within the size range.AbstractEList.resolve(int, E)
,
get(int)
protected E primitiveGet(int index)
AbstractEList
resolving
it and without range checking the index.primitiveGet
in class AbstractEList<E>
index
- the position in question.AbstractEList.resolve(int, E)
,
AbstractList.get(int)
,
AbstractEList.basicGet(int)
public E setUnique(int index, E object)
didSet
and didChange
.setUnique
in class AbstractEList<E>
index
- the position in question.object
- the object to set.AbstractEList.set(int, E)
protected E delegateSet(int index, E object)
object
- the object to set.public void addUnique(E object)
didAdd
and didChange
.
after uniqueness checking.addUnique
in class AbstractEList<E>
object
- the object to be added.AbstractEList.add(Object)
protected void delegateAdd(E object)
object
- the object to be added.public void addUnique(int index, E object)
didAdd
and didChange
.addUnique
in class AbstractEList<E>
object
- the object to be added.AbstractEList.add(int, Object)
protected void delegateAdd(int index, E object)
object
- the object to be added.public boolean addAllUnique(java.util.Collection<? extends E> collection)
didAdd
and didChange
.addAllUnique
in class AbstractEList<E>
collection
- the collection of objects to be added.AbstractEList.addAll(Collection)
public boolean addAllUnique(int index, java.util.Collection<? extends E> collection)
didAdd
and didChange
.addAllUnique
in class AbstractEList<E>
index
- the index at which to add.collection
- the collection of objects to be added.AbstractEList.addAll(int, Collection)
public boolean addAllUnique(java.lang.Object[] objects, int start, int end)
delegatedAdd
, didAdd
, and didChange
.addAllUnique
in class AbstractEList<E>
objects
- the objects to be added.start
- the index of first object to be added.end
- the index past the last object to be added.addAllUnique(int, Object[], int, int)
public boolean addAllUnique(int index, java.lang.Object[] objects, int start, int end)
delegatedAdd
, didAdd
, and didChange
.addAllUnique
in class AbstractEList<E>
index
- the index at which to add.objects
- the objects to be added.start
- the index of first object to be added.end
- the index past the last object to be added.addAllUnique(Object[], int, int)
public boolean remove(java.lang.Object object)
indexOf
to find the object
and delegates to remove(int)
in the case that it finds the object.remove
in interface java.util.Collection<E>
remove
in interface java.util.List<E>
remove
in class AbstractEList<E>
object
- the object to be removed.public boolean removeAll(java.util.Collection<?> collection)
removeAll
in interface java.util.Collection<E>
removeAll
in interface java.util.List<E>
removeAll
in class AbstractEList<E>
collection
- the collection of objects to be removed.public E remove(int index)
didRemove
and didChange
.remove
in interface java.util.List<E>
remove
in class AbstractEList<E>
index
- the position of the object to remove.java.lang.IndexOutOfBoundsException
- if the index isn't within the size range.protected E delegateRemove(int index)
java.lang.IndexOutOfBoundsException
- if the index isn't within the size range.public boolean retainAll(java.util.Collection<?> collection)
remove(int)
in the case that it finds an object that isn't retained.retainAll
in interface java.util.Collection<E>
retainAll
in interface java.util.List<E>
retainAll
in class AbstractEList<E>
collection
- the collection of objects to be retained.public void clear()
protected void doClear(int oldSize, java.lang.Object[] oldData)
oldSize
- the size of the list before it is cleared.oldData
- old values of the list before it is cleared.protected void delegateClear()
public E move(int targetIndex, int sourceIndex)
didMove
and didChange
.move
in interface EList<E>
move
in class AbstractEList<E>
targetIndex
- the new position for the object in the list.sourceIndex
- the old position of the object in the list.java.lang.IndexOutOfBoundsException
- if either index isn't within the size range.protected E delegateMove(int targetIndex, int sourceIndex)
targetIndex
- the new position for the object in the list.sourceIndex
- the old position of the object in the list.java.lang.IndexOutOfBoundsException
- if either index isn't within the size range.public boolean equals(java.lang.Object object)
equals
or "=="
depending on useEquals
.equals
in interface java.util.Collection<E>
equals
in interface java.util.List<E>
equals
in class AbstractEList<E>
AbstractEList.useEquals()
protected boolean delegateEquals(java.lang.Object object)
public int hashCode()
hashCode
in interface java.util.Collection<E>
hashCode
in interface java.util.List<E>
hashCode
in class AbstractEList<E>
protected int delegateHashCode()
public java.lang.String toString()
"[object1, object2]"
.toString
in class AbstractEList<E>
"[object1, object2]"
.protected java.lang.String delegateToString()
protected java.util.Iterator<E> delegateIterator()
protected java.util.ListIterator<E> delegateListIterator()
protected java.util.List<E> basicList()
non-resolving
view of the backing store list.basicList
in class AbstractEList<E>
protected java.util.List<E> delegateBasicList()
non-resolving
view of the backing store list.