## org.apache.commons.collections.collection
Class AbstractCollectionDecorator

    java.lang.Object
      org.apache.commons.collections.collection.AbstractCollectionDecorator

All Implemented Interfaces:
  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: 1.4 $ $Date: 2004/06/02 21:53:03 $
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 `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`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in interface `Collection`

### toString

    public String toString()

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