Class WhileClosure<E>
- java.lang.Object
 - 
- org.apache.commons.collections4.functors.WhileClosure<E>
 
 
- 
- All Implemented Interfaces:
 Closure<E>
public class WhileClosure<E> extends java.lang.Object implements Closure<E>
Closure implementation that executes a closure repeatedly until a condition is met, like a do-while or while loop.WARNING: from v4.1 onwards this class will not be serializable anymore in order to prevent potential remote code execution exploits. Please refer to COLLECTIONS-580 for more details.
- Since:
 - 3.0
 
 
- 
- 
Constructor Summary
Constructors Constructor Description WhileClosure(Predicate<? super E> predicate, Closure<? super E> closure, boolean doLoop)Constructor that performs no validation. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute(E input)Executes the closure until the predicate is false.Closure<? super E>getClosure()Gets the closure.Predicate<? super E>getPredicate()Gets the predicate in use.booleanisDoLoop()Is the loop a do-while loop.static <E> Closure<E>whileClosure(Predicate<? super E> predicate, Closure<? super E> closure, boolean doLoop)Factory method that performs validation. 
 - 
 
- 
- 
Constructor Detail
- 
WhileClosure
public WhileClosure(Predicate<? super E> predicate, Closure<? super E> closure, boolean doLoop)
Constructor that performs no validation. UsewhileClosureif you want that.- Parameters:
 predicate- the predicate used to evaluate when the loop terminates, not nullclosure- the closure the execute, not nulldoLoop- true to act as a do-while loop, always executing the closure once
 
 - 
 
- 
Method Detail
- 
whileClosure
public static <E> Closure<E> whileClosure(Predicate<? super E> predicate, Closure<? super E> closure, boolean doLoop)
Factory method that performs validation.- Type Parameters:
 E- the type that the closure acts on- Parameters:
 predicate- the predicate used to evaluate when the loop terminates, not nullclosure- the closure the execute, not nulldoLoop- true to act as a do-while loop, always executing the closure once- Returns:
 - the 
whileclosure - Throws:
 java.lang.NullPointerException- if the predicate or closure is null
 
- 
execute
public void execute(E input)
Executes the closure until the predicate is false. 
- 
getPredicate
public Predicate<? super E> getPredicate()
Gets the predicate in use.- Returns:
 - the predicate
 - Since:
 - 3.1
 
 
- 
isDoLoop
public boolean isDoLoop()
Is the loop a do-while loop.- Returns:
 - true is do-while, false if while
 - Since:
 - 3.1
 
 
 - 
 
 -