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:
java.io.Serializable,java.util.function.Function<T,R>,Transformer<T,R>
public class IfTransformer<T,R> extends java.lang.Object implements Transformer<T,R>, java.io.Serializable
Transformer implementation that will call one of two closures based on whether a predicate evaluates as true or false.- Since:
- 4.1
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description IfTransformer(Predicate<? super T> predicate, Transformer<? super T,? extends R> trueTransformer, Transformer<? super T,? extends R> falseTransformer)Constructor that performs no validation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Transformer<? super T,? extends R>getFalseTransformer()Gets the transformer used when false.Predicate<? super T>getPredicate()Gets the predicate.Transformer<? super T,? extends R>getTrueTransformer()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.Rtransform(T input)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 Detail
-
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 methodifTransformerif you want that.- Parameters:
predicate- predicate to switch on, not nulltrueTransformer- transformer used if true, not nullfalseTransformer- transformer used if false, not null
-
-
Method Detail
-
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
iftransformer - Throws:
java.lang.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
iftransformer - Throws:
java.lang.NullPointerException- if either argument is null
-
getFalseTransformer
public Transformer<? super T,? extends R> getFalseTransformer()
Gets the transformer used when false.- Returns:
- the transformer
-
getPredicate
public Predicate<? super T> getPredicate()
Gets the predicate.- Returns:
- the predicate
-
getTrueTransformer
public Transformer<? super T,? extends R> getTrueTransformer()
Gets the transformer used when true.- Returns:
- the transformer
-
-