org.apache.commons.collections.functors

## 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:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ChainedClosure(Closure[] closures)` Constructor that performs no validation.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute(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(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:
        `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

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.