Class InstantiateFactory
java.lang.Object
org.apache.commons.collections.functors.InstantiateFactory
- All Implemented Interfaces:
Serializable
,Factory
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) $
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Object[]
The constructor argumentsprivate final Class
The class to createprivate Constructor
The constructorprivate final Class[]
The constructor parameter typesprivate static final long
The serial version -
Constructor Summary
ConstructorsConstructorDescriptionInstantiateFactory
(Class classToInstantiate) Constructor that performs no validation.InstantiateFactory
(Class classToInstantiate, Class[] paramTypes, Object[] args) Constructor that performs no validation. -
Method Summary
Modifier and TypeMethodDescriptioncreate()
Creates an object using the stored constructor.private void
Find the Constructor for the class specified.static Factory
getInstance
(Class classToInstantiate, Class[] paramTypes, Object[] args) Factory method that performs validation.private void
Overrides the default readObject implementation to prevent de-serialization (see COLLECTIONS-580).private void
Overrides the default writeObject implementation to prevent serialization (see COLLECTIONS-580).
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDThe serial version- See Also:
-
iClassToInstantiate
The class to create -
iParamTypes
The constructor parameter types -
iArgs
The constructor arguments -
iConstructor
The constructor
-
-
Constructor Details
-
InstantiateFactory
Constructor that performs no validation. UsegetInstance
if you want that.- Parameters:
classToInstantiate
- the class to instantiate
-
InstantiateFactory
Constructor that performs no validation. UsegetInstance
if you want that.- Parameters:
classToInstantiate
- the class to instantiateparamTypes
- the constructor parameter types, not clonedargs
- the constructor arguments, not cloned
-
-
Method Details
-
getInstance
Factory method that performs validation.- Parameters:
classToInstantiate
- the class to instantiate, not nullparamTypes
- the constructor parameter typesargs
- the constructor arguments- Returns:
- a new instantiate factory
-
findConstructor
private void findConstructor()Find the Constructor for the class specified. -
create
Creates an object using the stored constructor. -
writeObject
Overrides the default writeObject implementation to prevent serialization (see COLLECTIONS-580).- Throws:
IOException
-
readObject
Overrides the default readObject implementation to prevent de-serialization (see COLLECTIONS-580).- Throws:
ClassNotFoundException
IOException
-