Class IfClosure<E>
- java.lang.Object
-
- org.apache.commons.collections4.functors.IfClosure<E>
-
- All Implemented Interfaces:
java.io.Serializable
,Closure<E>
public class IfClosure<E> extends java.lang.Object implements Closure<E>, java.io.Serializable
Closure implementation acts as an if statement calling one or other closure based on a predicate.- Since:
- 3.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Closure<? super E>
iFalseClosure
The closure to use if falseprivate Predicate<? super E>
iPredicate
The testprivate Closure<? super E>
iTrueClosure
The closure to use if trueprivate static long
serialVersionUID
Serial version UID
-
Constructor Summary
Constructors Constructor Description IfClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure)
Constructor that performs no validation.IfClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure, Closure<? super E> falseClosure)
Constructor that performs no validation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(E input)
Executes the true or false closure according to the result of the predicate.Closure<? super E>
getFalseClosure()
Gets the closure called when false.Predicate<? super E>
getPredicate()
Gets the predicate.Closure<? super E>
getTrueClosure()
Gets the closure called when true.static <E> Closure<E>
ifClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure)
Factory method that performs validation.static <E> Closure<E>
ifClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure, Closure<? super E> falseClosure)
Factory method that performs validation.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serial version UID- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IfClosure
public IfClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure)
Constructor that performs no validation. UseifClosure
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:
- 3.2
-
IfClosure
public IfClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure, Closure<? super E> falseClosure)
Constructor that performs no validation. UseifClosure
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
-
ifClosure
public static <E> Closure<E> ifClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure)
Factory method that performs validation.This factory creates a closure that performs no action when the predicate is false.
- Type Parameters:
E
- the type that the closure acts on- Parameters:
predicate
- predicate to switch ontrueClosure
- closure used if true- Returns:
- the
if
closure - Throws:
java.lang.NullPointerException
- if either argument is null- Since:
- 3.2
-
ifClosure
public static <E> Closure<E> ifClosure(Predicate<? super E> predicate, Closure<? super E> trueClosure, Closure<? super E> falseClosure)
Factory method that performs validation.- Type Parameters:
E
- the type that the closure acts on- Parameters:
predicate
- predicate to switch ontrueClosure
- closure used if truefalseClosure
- closure used if false- Returns:
- the
if
closure - Throws:
java.lang.NullPointerException
- if any argument is null
-
execute
public void execute(E input)
Executes the true or false closure according to the result of the predicate.
-
getPredicate
public Predicate<? super E> getPredicate()
Gets the predicate.- Returns:
- the predicate
- Since:
- 3.1
-
getTrueClosure
public Closure<? super E> getTrueClosure()
Gets the closure called when true.- Returns:
- the closure
- Since:
- 3.1
-
-