Class ChainedTransformer<T>

java.lang.Object
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
See Also:
  • Constructor Details

    • 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 Details

    • chainedTransformer

      public static <T> Transformer<T,T> chainedTransformer(Collection<? extends Transformer<? super T,? extends 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:
      NullPointerException - if the transformers collection is null
      NullPointerException - if any transformer in the collection is null
    • 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:
      NullPointerException - if the transformers array is null
      NullPointerException - if any transformer in the array is null
    • getTransformers

      public Transformer<? super T,? extends T>[] getTransformers()
      Gets the transformers.
      Returns:
      a copy of the transformers
      Since:
      3.1
    • 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