Class IfTransformer<T,R>
java.lang.Object
org.apache.commons.collections4.functors.IfTransformer<T,R>
- Type Parameters:
T
- the type of the input to the function.R
- the type of the result of the function.
- All Implemented Interfaces:
Serializable
,Function<T,
,R> Transformer<T,
R>
Transformer implementation that will call one of two closures based on whether a predicate evaluates
as true or false.
- Since:
- 4.1
- See Also:
-
Constructor Summary
ConstructorDescriptionIfTransformer
(Predicate<? super T> predicate, Transformer<? super T, ? extends R> trueTransformer, Transformer<? super T, ? extends R> falseTransformer) Constructor that performs no validation. -
Method Summary
Modifier and TypeMethodDescriptionTransformer
<? super T, ? extends R> Gets the transformer used when false.Gets the predicate.Transformer
<? super T, ? extends R> Gets the transformer used when true.static <I,
O> Transformer <I, O> ifTransformer
(Predicate<? super I> predicate, Transformer<? super I, ? extends O> trueTransformer, Transformer<? super I, ? extends O> falseTransformer) Factory method that performs validation.static <T> Transformer
<T, T> ifTransformer
(Predicate<? super T> predicate, Transformer<? super T, ? extends T> trueTransformer) Factory method that performs validation.Transforms the input using the true or false transformer based to the result of the predicate.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.commons.collections4.Transformer
apply
-
Constructor Details
-
IfTransformer
public IfTransformer(Predicate<? super T> predicate, Transformer<? super T, ? extends R> trueTransformer, Transformer<? super T, ? extends R> falseTransformer) Constructor that performs no validation. Use the static factory methodifTransformer
if you want that.- Parameters:
predicate
- predicate to switch on, not nulltrueTransformer
- transformer used if true, not nullfalseTransformer
- transformer used if false, not null
-
-
Method Details
-
ifTransformer
public static <I,O> Transformer<I,O> ifTransformer(Predicate<? super I> predicate, Transformer<? super I, ? extends O> trueTransformer, Transformer<? super I, ? extends O> falseTransformer) Factory method that performs validation.- Type Parameters:
I
- input type for the transformerO
- output type for the transformer- Parameters:
predicate
- predicate to switch ontrueTransformer
- transformer used if truefalseTransformer
- transformer used if false- Returns:
- the
if
transformer - Throws:
NullPointerException
- if either argument is null
-
ifTransformer
public static <T> Transformer<T,T> ifTransformer(Predicate<? super T> predicate, Transformer<? super T, ? extends T> trueTransformer) Factory method that performs validation.This factory creates a transformer that just returns the input object when the predicate is false.
- Type Parameters:
T
- input and output type for the transformer- Parameters:
predicate
- predicate to switch ontrueTransformer
- transformer used if true- Returns:
- the
if
transformer - Throws:
NullPointerException
- if either argument is null
-
getFalseTransformer
Gets the transformer used when false.- Returns:
- the transformer
-
getPredicate
Gets the predicate.- Returns:
- the predicate
-
getTrueTransformer
Gets the transformer used when true.- Returns:
- the transformer
-
transform
Transforms the input using the true or false transformer based to the result of the predicate.- Specified by:
transform
in interfaceTransformer<T,
R> - Parameters:
input
- the input object to transform- Returns:
- the transformed result
-