org.apache.commons.collections4.functors
Class ChainedTransformer<T>

java.lang.Object
  extended by org.apache.commons.collections4.functors.ChainedTransformer<T>
All Implemented Interfaces:
Serializable, Transformer<T,T>

public class ChainedTransformer<T>
extends Object
implements Transformer<T,T>, Serializable

Transformer implementation that chains the specified transformers together.

The input object is passed to the first transformer. The transformed result is passed to the second transformer and so on.

Since:
3.0
Version:
$Id: ChainedTransformer.java 1479337 2013-05-05 15:20:59Z tn $
See Also:
Serialized Form

Constructor Summary
ChainedTransformer(Transformer<? super T,? extends T>... transformers)
          Constructor that performs no validation.
 
Method Summary
static
<T> Transformer<T,T>
chainedTransformer(Collection<? extends Transformer<T,T>> transformers)
          Create a new Transformer that calls each transformer in turn, passing the result into the next transformer.
static
<T> Transformer<T,T>
chainedTransformer(Transformer<? super T,? extends T>... transformers)
          Factory method that performs validation and copies the parameter array.
 Transformer<? super T,? extends T>[] getTransformers()
          Gets the transformers.
 T transform(T object)
          Transforms the input to result via each decorated transformer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainedTransformer

public ChainedTransformer(Transformer<? super T,? extends T>... transformers)
Constructor that performs no validation. Use chainedTransformer if you want that.

Parameters:
transformers - the transformers to chain, copied, no nulls
Method Detail

chainedTransformer

public static <T> Transformer<T,T> chainedTransformer(Transformer<? super T,? extends T>... transformers)
Factory method that performs validation and copies the parameter array.

Type Parameters:
T - the object type
Parameters:
transformers - the transformers to chain, copied, no nulls
Returns:
the chained transformer
Throws:
IllegalArgumentException - if the transformers array is null
IllegalArgumentException - if any transformer in the array is null

chainedTransformer

public static <T> Transformer<T,T> chainedTransformer(Collection<? extends Transformer<T,T>> transformers)
Create a new Transformer that calls each transformer in turn, passing the result into the next transformer. The ordering is that of the iterator() method on the collection.

Type Parameters:
T - the object type
Parameters:
transformers - a collection of transformers to chain
Returns:
the chained transformer
Throws:
IllegalArgumentException - if the transformers collection is null
IllegalArgumentException - if any transformer in the collection is null

transform

public T transform(T object)
Transforms the input to result via each decorated transformer

Specified by:
transform in interface Transformer<T,T>
Parameters:
object - the input object passed to the first transformer
Returns:
the transformed result

getTransformers

public Transformer<? super T,? extends T>[] getTransformers()
Gets the transformers.

Returns:
a copy of the transformers
Since:
3.1


Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.