@GwtCompatible public abstract class ForwardingList<E> extends ForwardingCollection<E> implements java.util.List<E>
This class does not implement RandomAccess
. If the delegate supports random
access, the ForwardingList
subclass should implement the RandomAccess
interface.
Warning: The methods of ForwardingList
forward indiscriminately to the
methods of the delegate. For example, overriding add(int, E)
alone will not change the
behavior of addAll(int, java.util.Collection<? extends E>)
, which can lead to unexpected behavior. In this case, you should
override addAll
as well, either providing your own implementation, or delegating to the
provided standardAddAll
method.
default
method warning: This class does not forward calls to default
methods. Instead, it inherits their default implementations. When those implementations
invoke methods, they invoke methods on the ForwardingList
.
The standard
methods and any collection views they return are not guaranteed to be
thread-safe, even when all of the methods that they depend on are thread-safe.
Modifier | Constructor and Description |
---|---|
protected |
ForwardingList()
Constructor for use by subclasses.
|
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
E element) |
boolean |
addAll(int index,
java.util.Collection<? extends E> elements) |
protected abstract java.util.List<E> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
boolean |
equals(@Nullable java.lang.Object object) |
E |
get(int index) |
int |
hashCode() |
int |
indexOf(java.lang.Object element) |
int |
lastIndexOf(java.lang.Object element) |
java.util.ListIterator<E> |
listIterator() |
java.util.ListIterator<E> |
listIterator(int index) |
E |
remove(int index) |
E |
set(int index,
E element) |
protected boolean |
standardAdd(E element)
A sensible default implementation of
ForwardingCollection.add(Object) , in terms of add(int,
Object) . |
protected boolean |
standardAddAll(int index,
java.lang.Iterable<? extends E> elements)
A sensible default implementation of
addAll(int, Collection) , in terms of the add method of listIterator(int) . |
protected boolean |
standardEquals(@Nullable java.lang.Object object)
A sensible definition of
equals(Object) in terms of ForwardingCollection.size() and ForwardingCollection.iterator() . |
protected int |
standardHashCode()
A sensible definition of
hashCode() in terms of ForwardingCollection.iterator() . |
protected int |
standardIndexOf(@Nullable java.lang.Object element)
A sensible default implementation of
indexOf(java.lang.Object) , in terms of listIterator() . |
protected java.util.Iterator<E> |
standardIterator()
A sensible default implementation of
ForwardingCollection.iterator() , in terms of listIterator() . |
protected int |
standardLastIndexOf(@Nullable java.lang.Object element)
A sensible default implementation of
lastIndexOf(java.lang.Object) , in terms of listIterator(int) . |
protected java.util.ListIterator<E> |
standardListIterator()
A sensible default implementation of
listIterator() , in terms of listIterator(int) . |
protected java.util.ListIterator<E> |
standardListIterator(int start)
A sensible default implementation of
listIterator(int) , in terms of ForwardingCollection.size() ,
get(int) , set(int, Object) , add(int, Object) , and remove(int) . |
protected java.util.List<E> |
standardSubList(int fromIndex,
int toIndex)
A sensible default implementation of
subList(int, int) . |
java.util.List<E> |
subList(int fromIndex,
int toIndex) |
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, standardAddAll, standardClear, standardContains, standardContainsAll, standardIsEmpty, standardRemove, standardRemoveAll, standardRetainAll, standardToArray, standardToArray, standardToString, toArray, toArray
toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
protected ForwardingList()
protected abstract java.util.List<E> delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply the
instance being decorated.delegate
in class ForwardingCollection<E>
@CanIgnoreReturnValue public boolean addAll(int index, java.util.Collection<? extends E> elements)
addAll
in interface java.util.List<E>
public int indexOf(java.lang.Object element)
indexOf
in interface java.util.List<E>
public int lastIndexOf(java.lang.Object element)
lastIndexOf
in interface java.util.List<E>
public java.util.ListIterator<E> listIterator()
listIterator
in interface java.util.List<E>
public java.util.ListIterator<E> listIterator(int index)
listIterator
in interface java.util.List<E>
@CanIgnoreReturnValue public E remove(int index)
remove
in interface java.util.List<E>
@CanIgnoreReturnValue public E set(int index, E element)
set
in interface java.util.List<E>
public java.util.List<E> subList(int fromIndex, int toIndex)
subList
in interface java.util.List<E>
public int hashCode()
protected boolean standardAdd(E element)
ForwardingCollection.add(Object)
, in terms of add(int,
Object)
. If you override add(int, Object)
, you may wish to override ForwardingCollection.add(Object)
to forward to this implementation.protected boolean standardAddAll(int index, java.lang.Iterable<? extends E> elements)
addAll(int, Collection)
, in terms of the add
method of listIterator(int)
. If you override listIterator(int)
, you may
wish to override addAll(int, Collection)
to forward to this implementation.protected int standardIndexOf(@Nullable java.lang.Object element)
indexOf(java.lang.Object)
, in terms of listIterator()
. If
you override listIterator()
, you may wish to override indexOf(java.lang.Object)
to forward to
this implementation.protected int standardLastIndexOf(@Nullable java.lang.Object element)
lastIndexOf(java.lang.Object)
, in terms of listIterator(int)
. If you override listIterator(int)
, you may wish to override
lastIndexOf(java.lang.Object)
to forward to this implementation.protected java.util.Iterator<E> standardIterator()
ForwardingCollection.iterator()
, in terms of listIterator()
. If
you override listIterator()
, you may wish to override ForwardingCollection.iterator()
to forward to
this implementation.protected java.util.ListIterator<E> standardListIterator()
listIterator()
, in terms of listIterator(int)
. If you override listIterator(int)
, you may wish to override
listIterator()
to forward to this implementation.@Beta protected java.util.ListIterator<E> standardListIterator(int start)
listIterator(int)
, in terms of ForwardingCollection.size()
,
get(int)
, set(int, Object)
, add(int, Object)
, and remove(int)
. If you override any of these methods, you may wish to override listIterator(int)
to forward to this implementation.@Beta protected java.util.List<E> standardSubList(int fromIndex, int toIndex)
subList(int, int)
. If you override any other
methods, you may wish to override subList(int, int)
to forward to this implementation.@Beta protected boolean standardEquals(@Nullable java.lang.Object object)
equals(Object)
in terms of ForwardingCollection.size()
and ForwardingCollection.iterator()
. If you override either of those methods, you may wish to override equals(Object)
to forward to this implementation.@Beta protected int standardHashCode()
hashCode()
in terms of ForwardingCollection.iterator()
. If you override
ForwardingCollection.iterator()
, you may wish to override hashCode()
to forward to this
implementation.Copyright © 2010–2019 JBoss by Red Hat. All rights reserved.