Class ForwardingCollection<E>
- java.lang.Object
-
- org.glassfish.jersey.internal.guava.ForwardingCollection<E>
-
- All Implemented Interfaces:
Iterable<E>,Collection<E>
- Direct Known Subclasses:
ForwardingSet
public abstract class ForwardingCollection<E> extends Object 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
ForwardingCollectionforward indiscriminately to the methods of the delegate. For example, overridingadd(E)alone will not change the behavior ofaddAll(java.util.Collection<? extends E>), which can lead to unexpected behavior. In this case, you should overrideaddAllas well, either providing your own implementation, or delegating to the providedstandardAddAllmethod.The
standardmethods 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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanadd(E element)booleanaddAll(Collection<? extends E> collection)voidclear()booleancontains(Object object)booleancontainsAll(Collection<?> collection)protected abstract Collection<E>delegate()Returns the backing delegate instance that methods are forwarded to.booleanisEmpty()Iterator<E>iterator()booleanremove(Object object)booleanremoveAll(Collection<?> collection)booleanretainAll(Collection<?> collection)intsize()Object[]toArray()<T> T[]toArray(T[] array)StringtoString()Returns the string representation generated by the delegate'stoStringmethod.-
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, parallelStream, removeIf, spliterator, stream, toArray
-
-
-
-
Method Detail
-
delegate
protected abstract Collection<E> delegate()
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 asForwardingSet.delegate(). Concrete subclasses override this method to supply the instance being decorated.
-
size
public int size()
- Specified by:
sizein interfaceCollection<E>
-
removeAll
public boolean removeAll(Collection<?> collection)
- Specified by:
removeAllin interfaceCollection<E>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceCollection<E>
-
contains
public boolean contains(Object object)
- Specified by:
containsin interfaceCollection<E>
-
add
public boolean add(E element)
- Specified by:
addin interfaceCollection<E>
-
remove
public boolean remove(Object object)
- Specified by:
removein interfaceCollection<E>
-
containsAll
public boolean containsAll(Collection<?> collection)
- Specified by:
containsAllin interfaceCollection<E>
-
addAll
public boolean addAll(Collection<? extends E> collection)
- Specified by:
addAllin interfaceCollection<E>
-
retainAll
public boolean retainAll(Collection<?> collection)
- Specified by:
retainAllin interfaceCollection<E>
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<E>
-
toArray
public Object[] toArray()
- Specified by:
toArrayin interfaceCollection<E>
-
toArray
public <T> T[] toArray(T[] array)
- Specified by:
toArrayin interfaceCollection<E>
-
-