org.apache.commons.collections.functors

Class WhileClosure

Implemented Interfaces:
Closure, Serializable

public class WhileClosure
extends java.lang.Object
implements Closure, Serializable

Closure implementation that executes a closure repeatedly until a condition is met, like a do-while or while loop.
Version:
$Revision: 1.5 $ $Date: 2004/05/16 11:47:38 $
Author:
Stephen Colebourne
Since:
Commons Collections 3.0

Constructor Summary

WhileClosure(Predicate predicate, Closure closure, boolean doLoop)
Constructor that performs no validation.

Method Summary

void
execute(Object input)
Executes the closure until the predicate is false.
Closure
getClosure()
Gets the closure.
static Closure
getInstance(Predicate predicate, Closure closure, boolean doLoop)
Factory method that performs validation.
Predicate
getPredicate()
Gets the predicate in use.
boolean
isDoLoop()
Is the loop a do-while loop.

Constructor Details

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 Details

execute

public void execute(Object input)
Executes the closure until the predicate is false.
Specified by:
execute in interface Closure
Parameters:
input - the input object

getClosure

public Closure getClosure()
Gets the closure.
Returns:
the closure
Since:
Commons Collections 3.1

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

getPredicate

public Predicate getPredicate()
Gets the predicate in use.
Returns:
the predicate
Since:
Commons Collections 3.1

isDoLoop

public boolean isDoLoop()
Is the loop a do-while loop.
Returns:
true is do-while, false if while
Since:
Commons Collections 3.1

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