Class IfClosure
- java.lang.Object
-
- org.apache.commons.collections.functors.IfClosure
-
- All Implemented Interfaces:
java.io.Serializable
,Closure
public class IfClosure extends java.lang.Object implements Closure, java.io.Serializable
Closure implementation acts as an if statement calling one or other closure based on a predicate.- Since:
- Commons Collections 3.0
- Version:
- $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Closure
iFalseClosure
The closure to use if falseprivate Predicate
iPredicate
The testprivate Closure
iTrueClosure
The closure to use if trueprivate static long
serialVersionUID
Serial version UID
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(java.lang.Object input)
Executes the true or false closure accoring to the result of the predicate.Closure
getFalseClosure()
Gets the closure called when false.static Closure
getInstance(Predicate predicate, Closure trueClosure)
Factory method that performs validation.static Closure
getInstance(Predicate predicate, Closure trueClosure, Closure falseClosure)
Factory method that performs validation.Predicate
getPredicate()
Gets the predicate.Closure
getTrueClosure()
Gets the closure called when true.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serial version UID- See Also:
- Constant Field Values
-
iPredicate
private final Predicate iPredicate
The test
-
iTrueClosure
private final Closure iTrueClosure
The closure to use if true
-
iFalseClosure
private final Closure iFalseClosure
The closure to use if false
-
-
Constructor Detail
-
IfClosure
public IfClosure(Predicate predicate, Closure trueClosure)
Constructor that performs no validation. UsegetInstance
if you want that.This constructor creates a closure that performs no action when the predicate is false.
- Parameters:
predicate
- predicate to switch on, not nulltrueClosure
- closure used if true, not null- Since:
- Commons Collections 3.2
-
IfClosure
public IfClosure(Predicate predicate, Closure trueClosure, Closure falseClosure)
Constructor that performs no validation. UsegetInstance
if you want that.- Parameters:
predicate
- predicate to switch on, not nulltrueClosure
- closure used if true, not nullfalseClosure
- closure used if false, not null
-
-
Method Detail
-
getInstance
public static Closure getInstance(Predicate predicate, Closure trueClosure)
Factory method that performs validation.This factory creates a closure that performs no action when the predicate is false.
- Parameters:
predicate
- predicate to switch ontrueClosure
- closure used if true- Returns:
- the
if
closure - Throws:
java.lang.IllegalArgumentException
- if either argument is null- Since:
- Commons Collections 3.2
-
getInstance
public static Closure getInstance(Predicate predicate, Closure trueClosure, Closure falseClosure)
Factory method that performs validation.- Parameters:
predicate
- predicate to switch ontrueClosure
- closure used if truefalseClosure
- closure used if false- Returns:
- the
if
closure - Throws:
java.lang.IllegalArgumentException
- if any argument is null
-
execute
public void execute(java.lang.Object input)
Executes the true or false closure accoring to the result of the predicate.
-
getPredicate
public Predicate getPredicate()
Gets the predicate.- Returns:
- the predicate
- Since:
- Commons Collections 3.1
-
getTrueClosure
public Closure getTrueClosure()
Gets the closure called when true.- Returns:
- the closure
- Since:
- Commons Collections 3.1
-
getFalseClosure
public Closure getFalseClosure()
Gets the closure called when false.- Returns:
- the closure
- Since:
- Commons Collections 3.1
-
-