Class InstantiateFactory<T>

java.lang.Object
org.apache.commons.collections4.functors.InstantiateFactory<T>
All Implemented Interfaces:
Factory<T>

public class InstantiateFactory<T> extends Object implements Factory<T>
Factory 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 Details

    • InstantiateFactory

      public InstantiateFactory(Class<T> classToInstantiate)
      Constructor that performs no validation. Use instantiateFactory if you want that.
      Parameters:
      classToInstantiate - the class to instantiate
    • InstantiateFactory

      public InstantiateFactory(Class<T> classToInstantiate, Class<?>[] paramTypes, Object[] args)
      Constructor that performs no validation. Use instantiateFactory if you want that.
      Parameters:
      classToInstantiate - the class to instantiate
      paramTypes - the constructor parameter types, cloned
      args - the constructor arguments, cloned
  • Method Details

    • instantiateFactory

      public static <T> Factory<T> instantiateFactory(Class<T> classToInstantiate, Class<?>[] paramTypes, Object[] args)
      Factory method that performs validation.
      Type Parameters:
      T - the type the factory creates
      Parameters:
      classToInstantiate - the class to instantiate, not null
      paramTypes - the constructor parameter types, cloned
      args - the constructor arguments, cloned
      Returns:
      a new instantiate factory
      Throws:
      NullPointerException - if classToInstantiate is null
      IllegalArgumentException - if paramTypes does not match args
    • create

      public T create()
      Creates an object using the stored constructor.
      Specified by:
      create in interface Factory<T>
      Returns:
      the new object