org.apache.commons.collections4.functors

## Class InstantiateTransformer<T>

- java.lang.Object
- - org.apache.commons.collections4.functors.InstantiateTransformer<T>

- All Implemented Interfaces:
    Transformer<Class<? extends T>,T>

      public class InstantiateTransformer<T>
      extends Object
      implements Transformer<Class<? extends T>,T>

  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 and Description
    `InstantiateTransformer(Class<?>[] paramTypes, Object[] args)` Constructor that performs no validation.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Transformer<Class<? extends T>,T>` | `instantiateTransformer()` Get a typed no-arg instance.
    `static <T> Transformer<Class<? extends T>,T>` | `instantiateTransformer(Class<?>[] paramTypes, Object[] args)` Transformer method that performs validation.
    `T` | `transform(Class<? extends T> input)` Transforms the input Class object to a result by instantiation.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InstantiateTransformer

          public InstantiateTransformer(Class<?>[] paramTypes,
                                        Object[] args)

      Constructor that performs no validation. Use `instantiateTransformer` if you want that.

      Note: from 4.0, the input parameters will be cloned

      Parameters:
        `paramTypes` - the constructor parameter types
        `args` - the constructor arguments

  - ### Method Detail

    - #### instantiateTransformer

          public static <T> Transformer<Class<? extends T>,T> instantiateTransformer()

      Get a typed no-arg instance.
      Type Parameters:
        `T` - the type of the objects to be created
      Returns:
        Transformer<Class<? extends T>, T>

    - #### instantiateTransformer

          public static <T> Transformer<Class<? extends T>,T> instantiateTransformer(Class<?>[] paramTypes,
                                                                                     Object[] args)

      Transformer method that performs validation.
      Type Parameters:
        `T` - the type of the objects to be created
      Parameters:
        `paramTypes` - the constructor parameter types
        `args` - the constructor arguments
      Returns:
        an instantiate transformer
      Throws:
        `IllegalArgumentException` - if paramTypes does not match args

    - #### transform

          public T transform(Class<? extends T> input)

      Transforms the input Class object to a result by instantiation.
      Specified by:
        `transform` in interface `Transformer<Class<? extends T>,T>`
      Parameters:
        `input` - the input object to transform
      Returns:
        the transformed result

Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.