org.apache.commons.collections4.functors

## Class ChainedClosure<E>

- java.lang.Object
- - org.apache.commons.collections4.functors.ChainedClosure<E>

- All Implemented Interfaces:
    Serializable, Closure<E>

      public class ChainedClosure<E>
      extends Object
      implements Closure<E>, Serializable

  Closure implementation that chains the specified closures together.
  Since:
    3.0
  Version:
    $Id: ChainedClosure.java 1479336 2013-05-05 15:06:50Z tn $
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ChainedClosure(Closure<? super E>... closures)` Constructor that performs no validation.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <E> Closure<E>` | `chainedClosure(Closure<? super E>... closures)` Factory method that performs validation and copies the parameter array.
    `static <E> Closure<E>` | `chainedClosure(Collection<Closure<E>> closures)` Create a new Closure that calls each closure in turn, passing the result into the next closure.
    `void` | `execute(E input)` Execute a list of closures.
    `Closure<? super E>[]` | `getClosures()` Gets the closures.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ChainedClosure

          public ChainedClosure(Closure<? super E>... closures)

      Constructor that performs no validation. Use `chainedClosure` if you want that.
      Parameters:
        `closures` - the closures to chain, copied, no nulls

  - ### Method Detail

    - #### chainedClosure

          public static <E> Closure<E> chainedClosure(Closure<? super E>... closures)

      Factory method that performs validation and copies the parameter array.
      Type Parameters:
        `E` - the type that the closure acts on
      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

    - #### chainedClosure

          public static <E> Closure<E> chainedClosure(Collection<Closure<E>> 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.
      Type Parameters:
        `E` - the type that the closure acts on
      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

    - #### execute

          public void execute(E input)

      Execute a list of closures.
      Specified by:
        `execute` in interface `Closure<E>`
      Parameters:
        `input` - the input object passed to each closure

    - #### getClosures

          public Closure<? super E>[] getClosures()

      Gets the closures.
      Returns:
        a copy of the closures
      Since:
        3.1

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