Class InvokerTransformer<I,O>
- java.lang.Object
-
- org.apache.commons.collections4.functors.InvokerTransformer<I,O>
-
- All Implemented Interfaces:
Transformer<I,O>
public class InvokerTransformer<I,O> extends Object implements Transformer<I,O>
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(String methodName, Class<?>[] paramTypes, 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(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.O
transform(Object input)
Transforms the input to result by invoking a method on the input.
-
-
-
Constructor Detail
-
InvokerTransformer
public InvokerTransformer(String methodName, Class<?>[] paramTypes, Object[] args)
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 Detail
-
invokerTransformer
public static <I,O> Transformer<I,O> invokerTransformer(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:
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
-
-