org.apache.commons.lang
public class SerializationUtils extends Object
Assists with the serialization process and performs additional functionality based on serialization.
This class throws exceptions for invalid null
inputs.
Each method documents its behaviour in more detail.
Since: 1.0
Version: $Id: SerializationUtils.java 437554 2006-08-28 06:21:41Z bayard $
Constructor Summary | |
---|---|
SerializationUtils() SerializationUtils instances should NOT be constructed in standard programming. |
Method Summary | |
---|---|
static Object | clone(Serializable object) Deep clone an This is many times slower than writing clone methods by hand on all objects in your object graph. |
static Object | deserialize(InputStream inputStream) Deserializes an The stream will be closed once the object is written. |
static Object | deserialize(byte[] objectData) Deserializes a single |
static void | serialize(Serializable obj, OutputStream outputStream) Serializes an The stream will be closed once the object is written. |
static byte[] | serialize(Serializable obj) Serializes an |
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
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 the Serializable
object to clone
Returns: the cloned object
Throws: SerializationException (runtime) if the serialization fails
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 if inputStream
is null
SerializationException (runtime) if the serialization fails
Deserializes a single Object
from an array of bytes.
Parameters: objectData the serialized object, must not be null
Returns: the deserialized object
Throws: IllegalArgumentException if objectData
is null
SerializationException (runtime) if the serialization fails
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 null outputStream the stream to write to, must not be null
Throws: IllegalArgumentException if outputStream
is null
SerializationException (runtime) if the serialization fails
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