org.apache.commons.collections.collection

Class TransformedCollection

Implemented Interfaces:
Collection, Serializable
Known Direct 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.

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

Field Summary

protected Transformer
transformer
The transformer to use

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

collection

Constructor Summary

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

add, addAll, clear, contains, containsAll, equals, getCollection, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString

Field Details

transformer

protected final Transformer transformer
The transformer to use

Constructor Details

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

Method Details

add

public boolean add(Object object)
Overrides:
add in interface AbstractCollectionDecorator

addAll

public boolean addAll(Collection coll)
Overrides:
addAll in interface AbstractCollectionDecorator

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

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

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

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