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

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

All Implemented Interfaces:
  java.lang.Iterable, java.util.Collection

Direct Known Subclasses:
  AbstractBagDecorator, AbstractBufferDecorator, AbstractDualBidiMap.View, AbstractListDecorator, AbstractSerializableCollectionDecorator, AbstractSetDecorator

    public abstract class AbstractCollectionDecorator

extends java.lang.Object
implements java.util.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: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
  Stephen Colebourne, Paul Jack

Field Summary
`protected java.util.Collection` `collection` The collection being decorated

Constructor Summary
`protected` `AbstractCollectionDecorator()` Constructor only used in deserialization, do not use otherwise.
`protected` `AbstractCollectionDecorator(java.util.Collection coll)` Constructor that wraps (not copies).

Method Summary
`boolean` `add(java.lang.Object object)`
`boolean` `addAll(java.util.Collection 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` `getCollection()` Gets the collection being decorated.
`int` `hashCode()`
`boolean` `isEmpty()`
`java.util.Iterator` `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()`
`java.lang.Object[]` `toArray(java.lang.Object[] 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 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 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 getCollection()

  Gets the collection being decorated.

  Returns:
    the decorated collection

### add

    public boolean add(java.lang.Object object)

  Specified by:
    `add` in interface `java.util.Collection`

### addAll

    public boolean addAll(java.util.Collection coll)

  Specified by:
    `addAll` in interface `java.util.Collection`

### clear

    public void clear()

  Specified by:
    `clear` in interface `java.util.Collection`

### contains

    public boolean contains(java.lang.Object object)

  Specified by:
    `contains` in interface `java.util.Collection`

### isEmpty

    public boolean isEmpty()

  Specified by:
    `isEmpty` in interface `java.util.Collection`

### iterator

    public java.util.Iterator iterator()

  Specified by:
    `iterator` in interface `java.lang.Iterable`
  Specified by:
    `iterator` in interface `java.util.Collection`

### remove

    public boolean remove(java.lang.Object object)

  Specified by:
    `remove` in interface `java.util.Collection`

### size

    public int size()

  Specified by:
    `size` in interface `java.util.Collection`

### toArray

    public java.lang.Object[] toArray()

  Specified by:
    `toArray` in interface `java.util.Collection`

### toArray

    public java.lang.Object[] toArray(java.lang.Object[] object)

  Specified by:
    `toArray` in interface `java.util.Collection`

### containsAll

    public boolean containsAll(java.util.Collection coll)

  Specified by:
    `containsAll` in interface `java.util.Collection`

### removeAll

    public boolean removeAll(java.util.Collection coll)

  Specified by:
    `removeAll` in interface `java.util.Collection`

### retainAll

    public boolean retainAll(java.util.Collection coll)

  Specified by:
    `retainAll` in interface `java.util.Collection`

### equals

    public boolean equals(java.lang.Object object)

  Specified by:
    `equals` in interface `java.util.Collection`
  Overrides:
    `equals` in class `java.lang.Object`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in interface `java.util.Collection`
  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

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