net.sf.collections15.collection
Class AbstractCollectionDecorator<E>

java.lang.Object
  extended by net.sf.collections15.collection.AbstractCollectionDecorator<E>
All Implemented Interfaces:
java.lang.Iterable<E>, java.util.Collection<E>
Direct Known Subclasses:
AbstractListDecorator, AbstractSerializableCollectionDecorator, AbstractSetDecorator

public abstract class AbstractCollectionDecorator<E>
extends java.lang.Object
implements java.util.Collection<E>

Decorates another 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.

Since:
Collections15 1.0
Version:
$Revision: 1.1 $ $Date: 2005/05/03 22:45:38 $
Author:
Stephen Colebourne, Paul Jack

Field Summary
protected  java.util.Collection<E> collection
          The collection being decorated
 
Constructor Summary
protected AbstractCollectionDecorator()
          Constructor only used in deserialization, do not use otherwise.
protected AbstractCollectionDecorator(java.util.Collection<E> coll)
          Constructor that wraps (not copies).
 
Method Summary
 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)
           
 boolean equals(java.lang.Object object)
           
protected  java.util.Collection<E> getCollection()
          Gets the collection being decorated.
 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)
           
 int size()
           
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] object)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

collection

protected java.util.Collection<E> collection
The collection being decorated

Constructor Detail

AbstractCollectionDecorator

protected AbstractCollectionDecorator()
Constructor only used in deserialization, do not use otherwise.

Since:
Commons Collections 3.1

AbstractCollectionDecorator

protected AbstractCollectionDecorator(java.util.Collection<E> coll)
Constructor that wraps (not copies).

Parameters:
coll - the collection to decorate, must not be null
Throws:
java.lang.IllegalArgumentException - if the collection is null
Method Detail

getCollection

protected java.util.Collection<E> getCollection()
Gets the collection being decorated.

Returns:
the decorated collection

add

public boolean add(E object)
Specified by:
add in interface java.util.Collection<E>

addAll

public boolean addAll(java.util.Collection<? extends E> coll)
Specified by:
addAll in interface java.util.Collection<E>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<E>

contains

public boolean contains(java.lang.Object object)
Specified by:
contains in interface java.util.Collection<E>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<E>

iterator

public java.util.Iterator<E> iterator()
Specified by:
iterator in interface java.lang.Iterable<E>
Specified by:
iterator in interface java.util.Collection<E>

remove

public boolean remove(java.lang.Object object)
Specified by:
remove in interface java.util.Collection<E>

size

public int size()
Specified by:
size in interface java.util.Collection<E>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<E>

toArray

public <T> T[] toArray(T[] object)
Specified by:
toArray in interface java.util.Collection<E>

containsAll

public boolean containsAll(java.util.Collection<?> coll)
Specified by:
containsAll in interface java.util.Collection<E>

removeAll

public boolean removeAll(java.util.Collection<?> coll)
Specified by:
removeAll in interface java.util.Collection<E>

retainAll

public boolean retainAll(java.util.Collection<?> coll)
Specified by:
retainAll in interface java.util.Collection<E>

equals

public boolean equals(java.lang.Object object)
Specified by:
equals in interface java.util.Collection<E>
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<E>
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2001-2005 SourceForge.net. All Rights Reserved.