org.apache.commons.collections.collection
Class AbstractCollectionDecorator

java.lang.Object
  extended by org.apache.commons.collections.collection.AbstractCollectionDecorator
All Implemented Interfaces:
Iterable, Collection
Direct Known Subclasses:
AbstractBagDecorator, AbstractBufferDecorator, AbstractDualBidiMap.View, AbstractListDecorator, AbstractSerializableCollectionDecorator, AbstractSetDecorator

public abstract class AbstractCollectionDecorator
extends Object
implements Collection

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:
Commons Collections 3.0
Version:
$Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $
Author:
Stephen Colebourne, Paul Jack

Field Summary
protected  Collection collection
          The collection being decorated
 
Constructor Summary
protected AbstractCollectionDecorator()
          Constructor only used in deserialization, do not use otherwise.
protected AbstractCollectionDecorator(Collection coll)
          Constructor that wraps (not copies).
 
Method Summary
 boolean add(Object object)
           
 boolean addAll(Collection coll)
           
 void clear()
           
 boolean contains(Object object)
           
 boolean containsAll(Collection coll)
           
 boolean equals(Object object)
           
protected  Collection getCollection()
          Gets the collection being decorated.
 int hashCode()
           
 boolean isEmpty()
           
 Iterator iterator()
           
 boolean remove(Object object)
           
 boolean removeAll(Collection coll)
           
 boolean retainAll(Collection coll)
           
 int size()
           
 Object[] toArray()
           
 Object[] toArray(Object[] object)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

collection

protected Collection 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(Collection coll)
Constructor that wraps (not copies).

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

getCollection

protected Collection getCollection()
Gets the collection being decorated.

Returns:
the decorated collection

add

public boolean add(Object object)
Specified by:
add in interface Collection

addAll

public boolean addAll(Collection coll)
Specified by:
addAll in interface Collection

clear

public void clear()
Specified by:
clear in interface Collection

contains

public boolean contains(Object object)
Specified by:
contains in interface Collection

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection

iterator

public Iterator iterator()
Specified by:
iterator in interface Iterable
Specified by:
iterator in interface Collection

remove

public boolean remove(Object object)
Specified by:
remove in interface Collection

size

public int size()
Specified by:
size in interface Collection

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection

toArray

public Object[] toArray(Object[] object)
Specified by:
toArray in interface Collection

containsAll

public boolean containsAll(Collection coll)
Specified by:
containsAll in interface Collection

removeAll

public boolean removeAll(Collection coll)
Specified by:
removeAll in interface Collection

retainAll

public boolean retainAll(Collection coll)
Specified by:
retainAll in interface Collection

equals

public boolean equals(Object object)
Specified by:
equals in interface Collection
Overrides:
equals in class Object

hashCode

public int hashCode()
Specified by:
hashCode in interface Collection
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2001-2008 Apache Software Foundation. All Rights Reserved.