Class IfTransformer<I,O>
java.lang.Object
org.apache.commons.collections4.functors.IfTransformer<I,O>
- Type Parameters:
I
- The input type for the transformerO
- The output type for the transformer
- All Implemented Interfaces:
Serializable
,Transformer<I,
O>
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 I> predicate, Transformer<? super I, ? extends O> trueTransformer, Transformer<? super I, ? extends O> falseTransformer) Constructor that performs no validation. -
Method Summary
Modifier and TypeMethodDescriptionTransformer<? super I,
? extends O> Gets the transformer used when false.Gets the predicate.Transformer<? super I,
? extends O> 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.
-
Constructor Details
-
IfTransformer
public IfTransformer(Predicate<? super I> predicate, Transformer<? super I, ? extends O> trueTransformer, Transformer<? super I, ? extends O> 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<I,
O> - Parameters:
input
- the input object to transform- Returns:
- the transformed result
-