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:
  • Constructor Details

    • InvokerTransformer

      public InvokerTransformer(String methodName, Class[] paramTypes, Object[] args)
      Constructor that performs no validation. Use getInstance if you want that.
      Parameters:
      methodName - the method to call
      paramTypes - the constructor parameter types, not cloned
      args - the constructor arguments, not cloned
  • Method Details

    • 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 call
      paramTypes - the parameter types of the method
      args - 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 interface Transformer
      Parameters:
      input - the input object to transform
      Returns:
      the transformed result, null if null input