Class SerializationUtils
- java.lang.Object
-
- org.apache.commons.lang.SerializationUtils
-
public class SerializationUtils extends Object
Assists with the serialization process and performs additional functionality based on serialization.
- Deep clone using serialization
- Serialize managing finally and IOException
- Deserialize managing finally and IOException
This class throws exceptions for invalid
null
inputs. Each method documents its behaviour in more detail.#ThreadSafe#
- Since:
- 1.0
- Version:
- $Id: SerializationUtils.java 1056988 2011-01-09 17:58:53Z niallp $
-
-
Constructor Summary
Constructors Constructor Description SerializationUtils()
SerializationUtils instances should NOT be constructed in standard programming.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Object
clone(Serializable object)
Deep clone anObject
using serialization.static Object
deserialize(byte[] objectData)
Deserializes a singleObject
from an array of bytes.static Object
deserialize(InputStream inputStream)
Deserializes anObject
from the specified stream.static byte[]
serialize(Serializable obj)
Serializes anObject
to a byte array for storage/serialization.static void
serialize(Serializable obj, OutputStream outputStream)
Serializes anObject
to the specified stream.
-
-
-
Constructor Detail
-
SerializationUtils
public SerializationUtils()
SerializationUtils instances should NOT be constructed in standard programming. Instead, the class should be used as
SerializationUtils.clone(object)
.This constructor is public to permit tools that require a JavaBean instance to operate.
- Since:
- 2.0
-
-
Method Detail
-
clone
public static Object clone(Serializable object)
Deep clone an
Object
using serialization.This is many times slower than writing clone methods by hand on all objects in your object graph. However, for complex object graphs, or for those that don't support deep cloning this can be a simple alternative implementation. Of course all the objects must be
Serializable
.- Parameters:
object
- theSerializable
object to clone- Returns:
- the cloned object
- Throws:
SerializationException
- (runtime) if the serialization fails
-
serialize
public static void serialize(Serializable obj, OutputStream outputStream)
Serializes an
Object
to the specified stream.The stream will be closed once the object is written. This avoids the need for a finally clause, and maybe also exception handling, in the application code.
The stream passed in is not buffered internally within this method. This is the responsibility of your application if desired.
- Parameters:
obj
- the object to serialize to bytes, may be nulloutputStream
- the stream to write to, must not be null- Throws:
IllegalArgumentException
- ifoutputStream
isnull
SerializationException
- (runtime) if the serialization fails
-
serialize
public static byte[] serialize(Serializable obj)
Serializes an
Object
to a byte array for storage/serialization.- Parameters:
obj
- the object to serialize to bytes- Returns:
- a byte[] with the converted Serializable
- Throws:
SerializationException
- (runtime) if the serialization fails
-
deserialize
public static Object deserialize(InputStream inputStream)
Deserializes an
Object
from the specified stream.The stream will be closed once the object is written. This avoids the need for a finally clause, and maybe also exception handling, in the application code.
The stream passed in is not buffered internally within this method. This is the responsibility of your application if desired.
- Parameters:
inputStream
- the serialized object input stream, must not be null- Returns:
- the deserialized object
- Throws:
IllegalArgumentException
- ifinputStream
isnull
SerializationException
- (runtime) if the serialization fails
-
deserialize
public static Object deserialize(byte[] objectData)
Deserializes a single
Object
from an array of bytes.- Parameters:
objectData
- the serialized object, must not be null- Returns:
- the deserialized object
- Throws:
IllegalArgumentException
- ifobjectData
isnull
SerializationException
- (runtime) if the serialization fails
-
-