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
See Also:
  • Constructor Details

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

    • 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:
      NullPointerException - if the closures array is null
      NullPointerException - if any closure in the array is null
    • chainedClosure

      public static <E> Closure<E> chainedClosure(Collection<? extends Closure<? super 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:
      NullPointerException - if the closures collection is null
      NullPointerException - 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