Class ChainedClosure

java.lang.Object
org.apache.commons.collections.functors.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:
  • Constructor Details

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

    • 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