Class InvokerTransformer

java.lang.Object
org.apache.commons.collections.functors.InvokerTransformer
All Implemented Interfaces:
Serializable, Transformer

@Deprecated(since="2021-04-30") public class InvokerTransformer extends Object implements Transformer, Serializable
Deprecated.
Apache Commons Collections version 3.x is being deprecated from AEMaaCS. The upgraded version 4.4 of Commons Collections is already included as replacement. Customers are advised to upgrade to this version of the library. Please note: the package name was changed to org.apache.commons.collections4. Further note that there are AEM APIs currently exposing the old collections classes; these will be updated in upcoming releases.
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
See Also:
  • Constructor Details

    • InvokerTransformer

      public InvokerTransformer(String methodName, Class[] paramTypes, Object[] args)
      Deprecated.
      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)
      Deprecated.
      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)
      Deprecated.
      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)
      Deprecated.
      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