Class ChainedTransformer

  • All Implemented Interfaces:
    Serializable, Transformer

    public class ChainedTransformer
    extends Object
    implements Transformer, 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 14:33:15 +0200 (Thu, 10 Apr 2008) $
    Author:
    Stephen Colebourne
    See Also:
    Serialized Form
    • 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:
        IllegalArgumentException - if the transformers array is null
        IllegalArgumentException - if any transformer in the array is null
      • getInstance

        public static Transformer getInstance​(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:
        IllegalArgumentException - if the transformers collection is null
        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:
        IllegalArgumentException - if either transformer is null
      • transform

        public Object transform​(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