Class ChainedClosure

  • All Implemented Interfaces:
    Serializable, Closure

    public class ChainedClosure
    extends Object
    implements Closure, Serializable
    Closure implementation that chains the specified closures together.
    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

      • ChainedClosure

        public ChainedClosure​(Closure[] closures)
        Constructor that performs no validation. Use getInstance if you want that.
        Parameters:
        closures - the closures to chain, not copied, no nulls
    • Method Detail

      • getInstance

        public static Closure getInstance​(Closure[] closures)
        Factory method that performs validation and copies the parameter array.
        Parameters:
        closures - the closures to chain, copied, no nulls
        Returns:
        the chained closure
        Throws:
        IllegalArgumentException - if the closures array is null
        IllegalArgumentException - if any closure in the array is null
      • getInstance

        public static Closure getInstance​(Collection closures)
        Create a new Closure that calls each closure in turn, passing the result into the next closure. The ordering is that of the iterator() method on the collection.
        Parameters:
        closures - a collection of closures to chain
        Returns:
        the chained closure
        Throws:
        IllegalArgumentException - if the closures collection is null
        IllegalArgumentException - if any closure in the collection is null
      • getInstance

        public static Closure getInstance​(Closure closure1,
                                          Closure closure2)
        Factory method that performs validation.
        Parameters:
        closure1 - the first closure, not null
        closure2 - the second closure, not null
        Returns:
        the chained closure
        Throws:
        IllegalArgumentException - if either closure is null
      • execute

        public void execute​(Object input)
        Execute a list of closures.
        Specified by:
        execute in interface Closure
        Parameters:
        input - the input object passed to each closure
      • getClosures

        public Closure[] getClosures()
        Gets the closures, do not modify the array.
        Returns:
        the closures
        Since:
        Commons Collections 3.1