org.apache.commons.collections.functors
Class ChainedTransformer

java.lang.Object
  extended by org.apache.commons.collections.functors.ChainedTransformer
All Implemented Interfaces:
java.io.Serializable, Transformer

public class ChainedTransformer
extends java.lang.Object
implements Transformer, java.io.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:
Commons Collections 3.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
Stephen Colebourne
See Also:
Serialized Form

Constructor Summary
ChainedTransformer(Transformer[] transformers)
          Constructor that performs no validation.
 
Method Summary
static Transformer getInstance(java.util.Collection transformers)
          Create a new Transformer that calls each transformer in turn, passing the result into the next transformer.
static Transformer getInstance(Transformer[] transformers)
          Factory method that performs validation and copies the parameter array.
static Transformer getInstance(Transformer transformer1, Transformer transformer2)
          Factory method that performs validation.
 Transformer[] getTransformers()
          Gets the transformers, do not modify the array.
 java.lang.Object transform(java.lang.Object 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[] transformers)
Constructor that performs no validation. Use getInstance if you want that.

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

getInstance

public static Transformer getInstance(Transformer[] transformers)
Factory method that performs validation and copies the parameter array.

Parameters:
transformers - the transformers to chain, copied, no nulls
Returns:
the chained transformer
Throws:
java.lang.IllegalArgumentException - if the transformers array is null
java.lang.IllegalArgumentException - if any transformer in the array is null

getInstance

public static Transformer getInstance(java.util.Collection 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.

Parameters:
transformers - a collection of transformers to chain
Returns:
the chained transformer
Throws:
java.lang.IllegalArgumentException - if the transformers collection is null
java.lang.IllegalArgumentException - if any transformer in the collection is null

getInstance

public static Transformer getInstance(Transformer transformer1,
                                      Transformer transformer2)
Factory method that performs validation.

Parameters:
transformer1 - the first transformer, not null
transformer2 - the second transformer, not null
Returns:
the chained transformer
Throws:
java.lang.IllegalArgumentException - if either transformer is null

transform

public java.lang.Object transform(java.lang.Object object)
Transforms the input to result via each decorated transformer

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

getTransformers

public Transformer[] getTransformers()
Gets the transformers, do not modify the array.

Returns:
the transformers
Since:
Commons Collections 3.1


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.