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

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

All Implemented Interfaces:
  Collection, Serializable

Direct Known Subclasses:
  TransformedBag, TransformedBuffer, TransformedList, TransformedSet

public class TransformedCollection
extends AbstractSerializableCollectionDecorator

Decorates another `Collection` to transform objects that are added.

The add methods are affected by this class. Thus objects must be removed or searched for using their transformed form. For example, if the transformation converts Strings to Integers, you must use the Integer form to remove objects.

This class is Serializable from Commons Collections 3.1.

Since:
  Commons Collections 3.0
Version:
  $Revision: 1.7 $ $Date: 2004/06/03 22:02:13 $
Author:
  Stephen Colebourne
See Also:
  Serialized Form

Field Summary
`protected Transformer` `transformer` The transformer to use

Fields inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
`collection`

Constructor Summary
`protected` `TransformedCollection(Collection coll, Transformer transformer)` Constructor that wraps (not copies).

Method Summary
`boolean` `add(Object object)`
`boolean` `addAll(Collection coll)`
`static Collection` `decorate(Collection coll, Transformer transformer)` Factory method to create a transforming collection.
`protected Collection` `transform(Collection coll)` Transforms a collection.
`protected Object` `transform(Object object)` Transforms an object.

Methods inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
`clear, contains, containsAll, equals, getCollection, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### transformer

    protected final Transformer transformer

  The transformer to use

Constructor Detail

### TransformedCollection

    protected TransformedCollection(Collection coll,
                                    Transformer transformer)

  Constructor that wraps (not copies).

  If there are any elements already in the collection being decorated, they are NOT transformed.

Parameters:
  `coll` - the collection to decorate, must not be null
  `transformer` - the transformer to use for conversion, must not be null
Throws:
  `IllegalArgumentException` - if collection or transformer is null

Method Detail

### decorate

    public static Collection decorate(Collection coll,
                                      Transformer transformer)

  Factory method to create a transforming collection.

  If there are any elements already in the collection being decorated, they are NOT transformed.

  Parameters:
    `coll` - the collection to decorate, must not be null
    `transformer` - the transformer to use for conversion, must not be null
  Returns:
    a new transformed collection
  Throws:
    `IllegalArgumentException` - if collection or transformer is null

### transform

    protected Object transform(Object object)

  Transforms an object.

  The transformer itself may throw an exception if necessary.

  Parameters:
    `object` - the object to transform
  Returns:
    a transformed object

### transform

    protected Collection transform(Collection coll)

  Transforms a collection.

  The transformer itself may throw an exception if necessary.

  Parameters:
    `coll` - the collection to transform
  Returns:
    a transformed object

### add

    public boolean add(Object object)

  Specified by:
    `add` in interface `Collection`
  Overrides:
    `add` in class `AbstractCollectionDecorator`

### addAll

    public boolean addAll(Collection coll)

  Specified by:
    `addAll` in interface `Collection`
  Overrides:
    `addAll` in class `AbstractCollectionDecorator`

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