@GwtCompatible public abstract class ForwardingCollection<E> extends ForwardingObjectimplements Collection <E>
Warning: The methods of ForwardingCollection forward indiscriminately to the methods of the delegate. For example, overriding add(E) alone will not change the behavior of addAll(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.
The standard methods 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 |
ForwardingCollection()
Constructor for use by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E element)
|
boolean |
addAll(Collection
|
void |
clear()
|
boolean |
contains(Object
|
boolean |
containsAll(Collection
|
protected abstract Collection |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
boolean |
isEmpty()
|
Iterator |
iterator()
|
boolean |
remove(Object
|
boolean |
removeAll(Collection
|
boolean |
retainAll(Collection
|
int |
size()
|
protected boolean |
standardAddAll(Collection
A sensible definition of
addAll(java.util.Collection<? extends E>) in terms of
add(E).
|
protected void |
standardClear()
|
protected boolean |
standardContains(Object
A sensible definition of
contains(java.lang.Object) in terms of
iterator().
|
protected boolean |
standardContainsAll(Collection
A sensible definition of
containsAll(java.util.Collection<?>) in terms of
contains(java.lang.Object) .
|
protected boolean |
standardIsEmpty()
A sensible definition of
isEmpty() as
!iterator().hasNext.
|
protected boolean |
standardRemove(Object
A sensible definition of
remove(java.lang.Object) in terms of
iterator(), using the iterator's
remove method.
|
protected boolean |
standardRemoveAll(Collection
A sensible definition of
removeAll(java.util.Collection<?>) in terms of
iterator(), using the iterator's
remove method.
|
protected boolean |
standardRetainAll(Collection
A sensible definition of
retainAll(java.util.Collection<?>) in terms of
iterator(), using the iterator's
remove method.
|
protected Object |
standardToArray()
A sensible definition of
toArray() in terms of
toArray(Object[]).
|
protected <T> T[] |
standardToArray(T[] array)
|
protected String |
standardToString()
A sensible definition of
ForwardingObject in terms of
iterator().
|
Object |
toArray()
|
<T> T[] |
toArray(T[] array)
|
toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitequals, hashCode, parallelStream, removeIf, spliterator, streamprotected ForwardingCollection()
protected abstract Collection<E> delegate()
ForwardingObject
ForwardingSet.delegate() . Concrete subclasses override this method to supply the instance being decorated.
public int size()
public boolean removeAll(Collection<?> collection)
public boolean isEmpty()
public boolean contains(Objectobject)
public boolean add(E element)
public boolean remove(Objectobject)
public boolean containsAll(Collection<?> collection)
public boolean addAll(Collection<? extends E> collection)
public boolean retainAll(Collection<?> collection)
public void clear()
public Object[] toArray()
public <T> T[] toArray(T[] array)
protected boolean standardContains(Objectobject)
contains(java.lang.Object) in terms of
iterator(). If you override
iterator(), you may wish to override
contains(java.lang.Object) to forward to this implementation.
protected boolean standardContainsAll(Collection<?> collection)
containsAll(java.util.Collection<?>) in terms of
contains(java.lang.Object) . If you override
contains(java.lang.Object), you may wish to override
containsAll(java.util.Collection<?>) to forward to this implementation.
protected boolean standardAddAll(Collection<? extends E> collection)
addAll(java.util.Collection<? extends E>) in terms of
add(E). If you override
add(E), you may wish to override
addAll(java.util.Collection<? extends E>) to forward to this implementation.
protected boolean standardRemove(Objectobject)
remove(java.lang.Object) in terms of
iterator(), using the iterator's
remove method. If you override
iterator(), you may wish to override
remove(java.lang.Object) to forward to this implementation.
protected boolean standardRemoveAll(Collection<?> collection)
removeAll(java.util.Collection<?>) in terms of
iterator(), using the iterator's
remove method. If you override
iterator(), you may wish to override
removeAll(java.util.Collection<?>) to forward to this implementation.
protected boolean standardRetainAll(Collection<?> collection)
retainAll(java.util.Collection<?>) in terms of
iterator(), using the iterator's
remove method. If you override
iterator(), you may wish to override
retainAll(java.util.Collection<?>) to forward to this implementation.
protected void standardClear()
clear() in terms of
iterator(), using the iterator's
remove method. If you override
iterator(), you may wish to override
clear() to forward to this implementation.
protected boolean standardIsEmpty()
isEmpty() as
!iterator().hasNext. If you override
isEmpty(), you may wish to override
isEmpty() to forward to this implementation. Alternately, it may be more efficient to implement
isEmpty as
size() == 0.
protected StringstandardToString()
ForwardingObject.toString() in terms of
iterator(). If you override
iterator(), you may wish to override
ForwardingObject.toString() to forward to this implementation.
protected Object[] standardToArray()
toArray() in terms of
toArray(Object[]). If you override
toArray(Object[]), you may wish to override
toArray() to forward to this implementation.
protected <T> T[] standardToArray(T[] array)
toArray(Object[]) in terms of
size() and
iterator(). If you override either of these methods, you may wish to override
toArray() to forward to this implementation.