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:
Function<T,
,R> 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
ConstructorDescriptionInvokerTransformer
(String methodName, Class<?>[] paramTypes, Object[] args) Constructor that performs no validation. -
Method Summary
Modifier and TypeMethodDescriptionstatic <I,
O> Transformer <I, O> invokerTransformer
(String methodName) Gets an instance of this transformer calling a specific method with no arguments.static <I,
O> Transformer <I, O> invokerTransformer
(String methodName, Class<?>[] paramTypes, Object[] args) Gets an instance of this transformer calling a specific method with specific values.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 Details
-
InvokerTransformer
Constructor that performs no validation. UseinvokerTransformer
if 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 Details
-
invokerTransformer
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:
NullPointerException
- if methodName is null- Since:
- 3.1
-
invokerTransformer
public static <I,O> Transformer<I,O> invokerTransformer(String methodName, Class<?>[] paramTypes, 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:
NullPointerException
- if methodName is nullIllegalArgumentException
- if paramTypes does not match args
-
transform
Transforms the input to result by invoking a method on the input.- Specified by:
transform
in interfaceTransformer<T,
R> - Parameters:
input
- the input object to transform- Returns:
- the transformed result, null if null input
-