org.apache.commons.collections.functors
Class WhileClosure

java.lang.Object
  |
  +--org.apache.commons.collections.functors.WhileClosure
All Implemented Interfaces:
Closure, Serializable

public class WhileClosure
extends Object
implements Closure, Serializable

Closure implementation that executes a closure repeatedly until a condition is met, like a do-while or while loop.

Since:
Commons Collections 3.0
Version:
$Revision: 1.2 $ $Date: 2004/01/14 21:43:09 $
Author:
Stephen Colebourne
See Also:
Serialized Form

Constructor Summary
WhileClosure(Predicate predicate, Closure closure, boolean doLoop)
          Constructor that performs no validation.
 
Method Summary
 void execute(Object input)
          Execute the closure until the predicate is false.
static Closure getInstance(Predicate predicate, Closure closure, boolean doLoop)
          Factory method that performs validation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WhileClosure

public WhileClosure(Predicate predicate,
                    Closure closure,
                    boolean doLoop)
Constructor that performs no validation. Use getInstance if you want that.
Parameters:
predicate - the predicate used to evaluate when the loop terminates, not null
closure - the closure the execute, not null
doLoop - true to act as a do-while loop, always executing the closure once
Method Detail

getInstance

public static Closure getInstance(Predicate predicate,
                                  Closure closure,
                                  boolean doLoop)
Factory method that performs validation.
Parameters:
predicate - the predicate used to evaluate when the loop terminates, not null
closure - the closure the execute, not null
doLoop - true to act as a do-while loop, always executing the closure once
Returns:
the while closure
Throws:
IllegalArgumentException - if the predicate or closure is null

execute

public void execute(Object input)
Execute the closure until the predicate is false.
Specified by:
execute in interface Closure
Following copied from interface: org.apache.commons.collections.Closure
Parameters:
input - the input to execute on
Throws:
ClassCastException - (runtime) if the input is the wrong class
IllegalArgumentException - (runtime) if the input is invalid
FunctorException - (runtime) if any other error occurs


Copyright © 2001-2004 Apache Software Foundation. All Rights Reserved.