org.apache.commons.collections4.functors
Class ChainedClosure<E>

java.lang.Object
  extended by 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
ChainedClosure(Closure<? super E>... closures)
          Constructor that performs no validation.
 
Method Summary
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.