Class InstantiateFactory

  • All Implemented Interfaces:
    Serializable, Factory

    public class InstantiateFactory
    extends Object
    implements Factory, Serializable
    Factory 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 InstantiateTransformer 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 Detail

      • InstantiateFactory

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

        public InstantiateFactory​(Class classToInstantiate,
                                  Class[] paramTypes,
                                  Object[] args)
        Constructor that performs no validation. Use getInstance if you want that.
        Parameters:
        classToInstantiate - the class to instantiate
        paramTypes - the constructor parameter types, not cloned
        args - the constructor arguments, not cloned
    • Method Detail

      • getInstance

        public static Factory getInstance​(Class classToInstantiate,
                                          Class[] paramTypes,
                                          Object[] args)
        Factory method that performs validation.
        Parameters:
        classToInstantiate - the class to instantiate, not null
        paramTypes - the constructor parameter types
        args - the constructor arguments
        Returns:
        a new instantiate factory
      • create

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