Class 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
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:
- 3.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Transformer<? super E,
? extends E> The transformer to use -
Constructor Summary
ModifierConstructorDescriptionprotected
TransformedCollection
(Collection<E> collection, Transformer<? super E, ? extends E> transformer) Constructor that wraps (not copies). -
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
addAll
(Collection<? extends E> coll) protected E
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, removeIf, 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, spliterator, stream
-
Field Details
-
transformer
The transformer to use
-
-
Constructor Details
-
TransformedCollection
protected TransformedCollection(Collection<E> collection, 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:
collection
- 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 Details
-
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
-
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
-
add
- Specified by:
add
in interfaceCollection<E>
- Overrides:
add
in classAbstractCollectionDecorator<E>
-
addAll
- Specified by:
addAll
in interfaceCollection<E>
- Overrides:
addAll
in classAbstractCollectionDecorator<E>
-
transform
Transforms a collection.The transformer itself may throw an exception if necessary.
- Parameters:
coll
- the collection to transform- Returns:
- a transformed object
-
transform
Transforms an object.The transformer itself may throw an exception if necessary.
- Parameters:
object
- the object to transform- Returns:
- a transformed object
-