Class InvokerTransformer
- java.lang.Object
-
- org.apache.commons.collections.functors.InvokerTransformer
-
- All Implemented Interfaces:
Serializable
,Transformer
public class InvokerTransformer extends Object implements Transformer, Serializable
Transformer implementation that creates a new object instance by reflection.WARNING: from v3.2.2 onwards this class will throw an
UnsupportedOperationException
when trying to serialize or de-serialize an instance to prevent potential remote code execution exploits.In order to re-enable serialization support for
InvokerTransformer
the following system property can be used (via -Dproperty=true):org.apache.commons.collections.enableUnsafeSerialization
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 1713845 $ $Date: 2015-11-11 15:02:16 +0100 (Wed, 11 Nov 2015) $
- Author:
- Stephen Colebourne
- See Also:
- Serialized Form
-
-
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 Transformer
getInstance(String methodName)
Gets an instance of this transformer calling a specific method with no arguments.static Transformer
getInstance(String methodName, Class[] paramTypes, Object[] args)
Gets an instance of this transformer calling a specific method with specific values.Object
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. UsegetInstance
if you want that.- Parameters:
methodName
- the method to callparamTypes
- the constructor parameter types, not clonedargs
- the constructor arguments, not cloned
-
-
Method Detail
-
getInstance
public static Transformer getInstance(String methodName)
Gets an instance of this transformer calling a specific method with no arguments.- Parameters:
methodName
- the method name to call- Returns:
- an invoker transformer
- Since:
- Commons Collections 3.1
-
getInstance
public static Transformer getInstance(String methodName, Class[] paramTypes, Object[] args)
Gets an instance of this transformer calling a specific method with specific values.- Parameters:
methodName
- the method name to callparamTypes
- the parameter types of the methodargs
- the arguments to pass to the method- Returns:
- an invoker transformer
-
transform
public Object transform(Object input)
Transforms the input to result by invoking a method on the input.- Specified by:
transform
in interfaceTransformer
- Parameters:
input
- the input object to transform- Returns:
- the transformed result, null if null input
-
-