## org.apache.commons.collections.functors
Class ChainedClosure

    java.lang.Object
      org.apache.commons.collections.functors.ChainedClosure

All Implemented Interfaces:
  java.io.Serializable, Closure

    public class ChainedClosure

extends java.lang.Object
implements Closure, java.io.Serializable

Closure implementation that chains the specified closures together.

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
`ChainedClosure(Closure[] closures)` Constructor that performs no validation.

Method Summary
`void` `execute(java.lang.Object input)` Execute a list of closures.
`Closure[]` `getClosures()` Gets the closures, do not modify the array.
`static Closure` `getInstance(Closure[] closures)` Factory method that performs validation and copies the parameter array.
`static Closure` `getInstance(Closure closure1, Closure closure2)` Factory method that performs validation.
`static Closure` `getInstance(java.util.Collection closures)` Create a new Closure that calls each closure in turn, passing the result into the next closure.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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:
    `java.lang.IllegalArgumentException` - if the closures array is null
    `java.lang.IllegalArgumentException` - if any closure in the array is null

### getInstance

    public static Closure getInstance(java.util.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:
    `java.lang.IllegalArgumentException` - if the closures collection is null
    `java.lang.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:
    `java.lang.IllegalArgumentException` - if either closure is null

### execute

    public void execute(java.lang.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

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