E - the type of the elements in the collectionpublic abstract class AbstractCollectionDecorator<E>
extends java.lang.Object
implements java.util.Collection<E>, java.io.Serializable
Collection to provide additional behaviour.
Each method call made on this Collection is forwarded to the
decorated Collection. This class is used as a framework on which
to build to extensions such as synchronized and unmodifiable behaviour. The
main advantage of decoration is that one decorator can wrap any implementation
of Collection, whereas sub-classing requires a new class to be
written for each implementation.
This implementation does not perform any special processing with
iterator(). Instead it simply returns the value from the
wrapped collection. This may be undesirable, for example if you are trying
to write an unmodifiable implementation it might provide a loophole.
| Modifier and Type | Field and Description |
|---|---|
private java.util.Collection<E> |
collection
The collection being decorated
|
private static long |
serialVersionUID
Serialization version
|
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCollectionDecorator()
Constructor only used in deserialization, do not use otherwise.
|
protected |
AbstractCollectionDecorator(java.util.Collection<E> coll)
Constructor that wraps (not copies).
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E object) |
boolean |
addAll(java.util.Collection<? extends E> coll) |
void |
clear() |
boolean |
contains(java.lang.Object object) |
boolean |
containsAll(java.util.Collection<?> coll) |
protected java.util.Collection<E> |
decorated()
Gets the collection being decorated.
|
boolean |
equals(java.lang.Object object) |
int |
hashCode() |
boolean |
isEmpty() |
java.util.Iterator<E> |
iterator() |
boolean |
remove(java.lang.Object object) |
boolean |
removeAll(java.util.Collection<?> coll) |
boolean |
retainAll(java.util.Collection<?> coll) |
protected void |
setCollection(java.util.Collection<E> coll)
Sets the collection being decorated.
|
int |
size() |
java.lang.Object[] |
toArray() |
<T> T[] |
toArray(T[] object) |
java.lang.String |
toString() |
private static final long serialVersionUID
private java.util.Collection<E> collection
protected AbstractCollectionDecorator()
protected AbstractCollectionDecorator(java.util.Collection<E> coll)
coll - the collection to decorate, must not be nulljava.lang.IllegalArgumentException - if the collection is nullprotected java.util.Collection<E> decorated()
protected void setCollection(java.util.Collection<E> coll)
NOTE: this method should only be used during deserialization
coll - the decorated collectionpublic boolean addAll(java.util.Collection<? extends E> coll)
addAll in interface java.util.Collection<E>public void clear()
clear in interface java.util.Collection<E>public boolean contains(java.lang.Object object)
contains in interface java.util.Collection<E>public boolean isEmpty()
isEmpty in interface java.util.Collection<E>public java.util.Iterator<E> iterator()
public boolean remove(java.lang.Object object)
remove in interface java.util.Collection<E>public int size()
size in interface java.util.Collection<E>public java.lang.Object[] toArray()
toArray in interface java.util.Collection<E>public <T> T[] toArray(T[] object)
toArray in interface java.util.Collection<E>public boolean containsAll(java.util.Collection<?> coll)
containsAll in interface java.util.Collection<E>public boolean removeAll(java.util.Collection<?> coll)
removeAll in interface java.util.Collection<E>public boolean retainAll(java.util.Collection<?> coll)
retainAll in interface java.util.Collection<E>public boolean equals(java.lang.Object object)
equals in interface java.util.Collection<E>equals in class java.lang.Objectpublic int hashCode()
hashCode in interface java.util.Collection<E>hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object