org.apache.commons.collections.functors
Class ChainedClosure

java.lang.Object
  extended by 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.