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
-
-
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.
-
-
-
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
-
-