![JAR search and dependency download from the Maven repository](/logo.png)
javadoc.com.google.common.collect.ForwardingCollection.html Maven / Gradle / Ivy
ForwardingCollection (Guava: Google Core Libraries for Java 11.0.1 API)
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
com.google.common.collect
Class ForwardingCollection<E>
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingCollection<E>
- All Implemented Interfaces:
- Iterable<E>, Collection<E>
- Direct Known Subclasses:
- ForwardingList, ForwardingMultiset, ForwardingQueue, ForwardingSet
@GwtCompatible
public abstract class ForwardingCollection<E>
- extends ForwardingObject
- implements Collection<E>
A collection which forwards all its method calls to another collection. Subclasses should override one or more methods to modify the behavior of the backing collection as desired per the decorator pattern.
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.
- Since:
- 2.0 (imported from Google Collections Library)
- Author:
- Kevin Bourrillion, Louis Wasserman
Constructor Summary | |
---|---|
protected |
ForwardingCollection()
Constructor for use by subclasses. |
Method Summary | ||
---|---|---|
boolean |
add(E element)
|
|
boolean |
addAll(Collection<? extends E> collection)
|
|
void |
clear()
|
|
boolean |
contains(Object object)
|
|
boolean |
containsAll(Collection<?> collection)
|
|
protected abstract Collection<E> |
delegate()
Returns the backing delegate instance that methods are forwarded to. |
|
boolean |
isEmpty()
|
|
Iterator<E> |
iterator()
|
|
boolean |
remove(Object object)
|
|
boolean |
removeAll(Collection<?> collection)
|
|
boolean |
retainAll(Collection<?> collection)
|
|
int |
size()
|
|
protected boolean |
standardAddAll(Collection<? extends E> collection)
A sensible definition of addAll(java.util.Collection extends E>) in terms of add(E) . |
|
protected void |
standardClear()
A sensible definition of clear() in terms of iterator() ,
using the iterator's remove method. |
|
protected boolean |
standardContains(Object object)
A sensible definition of contains(java.lang.Object) in terms of iterator() . |
|
protected boolean |
standardContainsAll(Collection<?> 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 object)
A sensible definition of remove(java.lang.Object) in terms of iterator() ,
using the iterator's remove method. |
|
protected boolean |
standardRemoveAll(Collection<?> collection)
A sensible definition of removeAll(java.util.Collection>) in terms of iterator() ,
using the iterator's remove method. |
|
protected boolean |
standardRetainAll(Collection<?> 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
|
standardToArray(T[] array)
A sensible definition of toArray(Object[]) in terms of size() and iterator() . |
|
protected String |
standardToString()
A sensible definition of ForwardingObject.toString() in terms of iterator() . |
|
Object[] |
toArray()
|
|
|
toArray(T[] array)
|
Methods inherited from class com.google.common.collect.ForwardingObject |
---|
toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Collection |
---|
equals, hashCode |
Constructor Detail |
---|
ForwardingCollection
protected ForwardingCollection()
- Constructor for use by subclasses.
Method Detail |
---|
delegate
protected abstract Collection<E> delegate()
- Description copied from class:
ForwardingObject
- Returns the backing delegate instance that methods are forwarded to.
Abstract subclasses generally override this method with an abstract method
that has a more specific return type, such as
ForwardingSet.delegate()
. Concrete subclasses override this method to supply the instance being decorated.- Specified by:
delegate
in classForwardingObject
iterator
public Iterator<E> iterator()
size
public int size()
- Specified by:
size
in interfaceCollection<E>
removeAll
public boolean removeAll(Collection<?> collection)
- Specified by:
removeAll
in interfaceCollection<E>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceCollection<E>
contains
public boolean contains(Object object)
- Specified by:
contains
in interfaceCollection<E>
add
public boolean add(E element)
- Specified by:
add
in interfaceCollection<E>
remove
public boolean remove(Object object)
- Specified by:
remove
in interfaceCollection<E>
containsAll
public boolean containsAll(Collection<?> collection)
- Specified by:
containsAll
in interfaceCollection<E>
addAll
public boolean addAll(Collection<? extends E> collection)
- Specified by:
addAll
in interfaceCollection<E>
retainAll
public boolean retainAll(Collection<?> collection)
- Specified by:
retainAll
in interfaceCollection<E>
clear
public void clear()
- Specified by:
clear
in interfaceCollection<E>
toArray
public Object[] toArray()
- Specified by:
toArray
in interfaceCollection<E>
toArray
public <T> T[] toArray(T[] array)
- Specified by:
toArray
in interfaceCollection<E>
standardContains
@Beta protected boolean standardContains(@Nullable Object object)
- A sensible definition of
contains(java.lang.Object)
in terms ofiterator()
. If you overrideiterator()
, you may wish to overridecontains(java.lang.Object)
to forward to this implementation.- Since:
- 7.0
standardContainsAll
@Beta protected boolean standardContainsAll(Collection<?> collection)
- A sensible definition of
containsAll(java.util.Collection>)
in terms ofcontains(java.lang.Object)
. If you overridecontains(java.lang.Object)
, you may wish to overridecontainsAll(java.util.Collection>)
to forward to this implementation.- Since:
- 7.0
standardAddAll
@Beta protected boolean standardAddAll(Collection<? extends E> collection)
- A sensible definition of
addAll(java.util.Collection extends E>)
in terms ofadd(E)
. If you overrideadd(E)
, you may wish to overrideaddAll(java.util.Collection extends E>)
to forward to this implementation.- Since:
- 7.0
standardRemove
@Beta protected boolean standardRemove(@Nullable Object object)
- A sensible definition of
remove(java.lang.Object)
in terms ofiterator()
, using the iterator'sremove
method. If you overrideiterator()
, you may wish to overrideremove(java.lang.Object)
to forward to this implementation.- Since:
- 7.0
standardRemoveAll
@Beta protected boolean standardRemoveAll(Collection<?> collection)
- A sensible definition of
removeAll(java.util.Collection>)
in terms ofiterator()
, using the iterator'sremove
method. If you overrideiterator()
, you may wish to overrideremoveAll(java.util.Collection>)
to forward to this implementation.- Since:
- 7.0
standardRetainAll
@Beta protected boolean standardRetainAll(Collection<?> collection)
- A sensible definition of
retainAll(java.util.Collection>)
in terms ofiterator()
, using the iterator'sremove
method. If you overrideiterator()
, you may wish to overrideretainAll(java.util.Collection>)
to forward to this implementation.- Since:
- 7.0
standardClear
@Beta protected void standardClear()
- A sensible definition of
clear()
in terms ofiterator()
, using the iterator'sremove
method. If you overrideiterator()
, you may wish to overrideclear()
to forward to this implementation.- Since:
- 7.0
standardIsEmpty
@Beta protected boolean standardIsEmpty()
- A sensible definition of
isEmpty()
as!iterator().hasNext
. If you overrideisEmpty()
, you may wish to overrideisEmpty()
to forward to this implementation. Alternately, it may be more efficient to implementisEmpty
assize() == 0
.- Since:
- 7.0
standardToString
@Beta protected String standardToString()
- A sensible definition of
ForwardingObject.toString()
in terms ofiterator()
. If you overrideiterator()
, you may wish to overrideForwardingObject.toString()
to forward to this implementation.- Since:
- 7.0
standardToArray
@Beta protected Object[] standardToArray()
- A sensible definition of
toArray()
in terms oftoArray(Object[])
. If you overridetoArray(Object[])
, you may wish to overridetoArray()
to forward to this implementation.- Since:
- 7.0
standardToArray
@Beta protected <T> T[] standardToArray(T[] array)
- A sensible definition of
toArray(Object[])
in terms ofsize()
anditerator()
. If you override either of these methods, you may wish to overridetoArray()
to forward to this implementation.- Since:
- 7.0
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2010-2012. All Rights Reserved.