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 voidexecute(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. UseifClosureif 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. UseifClosureif 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
ifclosure - 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
ifclosure - 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
-
-