Class InvokerTransformer<T,R>
- java.lang.Object
-
- org.apache.commons.collections4.functors.InvokerTransformer<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.util.function.Function<T,R>,Transformer<T,R>
public class InvokerTransformer<T,R> extends java.lang.Object implements Transformer<T,R>
Transformer implementation that creates a new object instance by reflection.WARNING: from v4.1 onwards this class will not be serializable anymore in order to prevent potential remote code execution exploits. Please refer to COLLECTIONS-580 for more details.
- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description InvokerTransformer(java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] args)Constructor that performs no validation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <I,O>
Transformer<I,O>invokerTransformer(java.lang.String methodName)Gets an instance of this transformer calling a specific method with no arguments.static <I,O>
Transformer<I,O>invokerTransformer(java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] args)Gets an instance of this transformer calling a specific method with specific values.Rtransform(java.lang.Object input)Transforms the input to result by invoking a method on the input.-
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
-
InvokerTransformer
public InvokerTransformer(java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] args)
Constructor that performs no validation. UseinvokerTransformerif you want that.Note: from 4.0, the input parameters will be cloned
- Parameters:
methodName- the method to callparamTypes- the constructor parameter typesargs- the constructor arguments
-
-
Method Detail
-
invokerTransformer
public static <I,O> Transformer<I,O> invokerTransformer(java.lang.String methodName)
Gets an instance of this transformer calling a specific method with no arguments.- Type Parameters:
I- the input typeO- the output type- Parameters:
methodName- the method name to call- Returns:
- an invoker transformer
- Throws:
java.lang.NullPointerException- if methodName is null- Since:
- 3.1
-
invokerTransformer
public static <I,O> Transformer<I,O> invokerTransformer(java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] args)
Gets an instance of this transformer calling a specific method with specific values.- Type Parameters:
I- the input typeO- the output type- Parameters:
methodName- the method name to callparamTypes- the parameter types of the methodargs- the arguments to pass to the method- Returns:
- an invoker transformer
- Throws:
java.lang.NullPointerException- if methodName is nulljava.lang.IllegalArgumentException- if paramTypes does not match args
-
-