Class CloneTransformer
- java.lang.Object
-
- org.apache.commons.collections.functors.CloneTransformer
-
- All Implemented Interfaces:
java.io.Serializable
,Transformer
public class CloneTransformer extends java.lang.Object implements Transformer, java.io.Serializable
Transformer implementation that returns a clone of the input object.Clone is performed using
PrototypeFactory.getInstance(input).create()
.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
CloneTransformer
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static Transformer
INSTANCE
Singleton predicate instanceprivate static long
serialVersionUID
Serial version UID
-
Constructor Summary
Constructors Modifier Constructor Description private
CloneTransformer()
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Transformer
getInstance()
Factory returning the singleton instance.private void
readObject(java.io.ObjectInputStream is)
Overrides the default readObject implementation to prevent de-serialization (see COLLECTIONS-580).java.lang.Object
transform(java.lang.Object input)
Transforms the input to result by cloning it.private void
writeObject(java.io.ObjectOutputStream os)
Overrides the default writeObject implementation to prevent serialization (see COLLECTIONS-580).
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serial version UID- See Also:
- Constant Field Values
-
INSTANCE
public static final Transformer INSTANCE
Singleton predicate instance
-
-
Method Detail
-
getInstance
public static Transformer getInstance()
Factory returning the singleton instance.- Returns:
- the singleton instance
- Since:
- Commons Collections 3.1
-
transform
public java.lang.Object transform(java.lang.Object input)
Transforms the input to result by cloning it.- Specified by:
transform
in interfaceTransformer
- Parameters:
input
- the input object to transform- Returns:
- the transformed result
-
writeObject
private void writeObject(java.io.ObjectOutputStream os) throws java.io.IOException
Overrides the default writeObject implementation to prevent serialization (see COLLECTIONS-580).- Throws:
java.io.IOException
-
readObject
private void readObject(java.io.ObjectInputStream is) throws java.lang.ClassNotFoundException, java.io.IOException
Overrides the default readObject implementation to prevent de-serialization (see COLLECTIONS-580).- Throws:
java.lang.ClassNotFoundException
java.io.IOException
-
-