Class TransformedCollection<E>
- java.lang.Object
-
- org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
-
- org.apache.commons.collections4.collection.TransformedCollection<E>
-
- Type Parameters:
E
- the type of the elements in the collection
- All Implemented Interfaces:
Serializable
,Iterable<E>
,Collection<E>
- Direct Known Subclasses:
TransformedBag
,TransformedList
,TransformedQueue
,TransformedSet
public class TransformedCollection<E> extends AbstractCollectionDecorator<E>
Decorates anotherCollection
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:
- 3.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Transformer<? super E,? extends E>
transformer
The transformer to use
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransformedCollection(Collection<E> coll, Transformer<? super E,? extends E> transformer)
Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(E object)
boolean
addAll(Collection<? extends E> coll)
protected E
transform(E object)
Transforms an object.protected Collection<E>
transform(Collection<? extends E> coll)
Transforms a collection.static <E> TransformedCollection<E>
transformedCollection(Collection<E> collection, Transformer<? super E,? extends E> transformer)
Factory method to create a transforming collection that will transform existing contents of the specified collection.static <E> TransformedCollection<E>
transformingCollection(Collection<E> coll, Transformer<? super E,? extends E> transformer)
Factory method to create a transforming collection.-
Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator
clear, contains, containsAll, decorated, isEmpty, iterator, remove, removeAll, retainAll, setCollection, size, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray
-
-
-
-
Field Detail
-
transformer
protected final Transformer<? super E,? extends E> transformer
The transformer to use
-
-
Constructor Detail
-
TransformedCollection
protected TransformedCollection(Collection<E> coll, Transformer<? super E,? extends E> 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 nulltransformer
- the transformer to use for conversion, must not be null- Throws:
NullPointerException
- if collection or transformer is null
-
-
Method Detail
-
transformingCollection
public static <E> TransformedCollection<E> transformingCollection(Collection<E> coll, Transformer<? super E,? extends E> transformer)
Factory method to create a transforming collection.If there are any elements already in the collection being decorated, they are NOT transformed. Contrast this with
transformedCollection(Collection, Transformer)
.- Type Parameters:
E
- the type of the elements in the collection- Parameters:
coll
- the collection to decorate, must not be nulltransformer
- the transformer to use for conversion, must not be null- Returns:
- a new transformed collection
- Throws:
NullPointerException
- if collection or transformer is null- Since:
- 4.0
-
transformedCollection
public static <E> TransformedCollection<E> transformedCollection(Collection<E> collection, Transformer<? super E,? extends E> transformer)
Factory method to create a transforming collection that will transform existing contents of the specified collection.If there are any elements already in the collection being decorated, they will be transformed by this method. Contrast this with
transformingCollection(Collection, Transformer)
.- Type Parameters:
E
- the type of the elements in the collection- Parameters:
collection
- the collection to decorate, must not be nulltransformer
- the transformer to use for conversion, must not be null- Returns:
- a new transformed Collection
- Throws:
NullPointerException
- if collection or transformer is null- Since:
- 4.0
-
transform
protected E transform(E 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<E> transform(Collection<? extends E> 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(E object)
- Specified by:
add
in interfaceCollection<E>
- Overrides:
add
in classAbstractCollectionDecorator<E>
-
addAll
public boolean addAll(Collection<? extends E> coll)
- Specified by:
addAll
in interfaceCollection<E>
- Overrides:
addAll
in classAbstractCollectionDecorator<E>
-
-