org.hibernate.util
Class SerializationHelper
java.lang.Object
org.hibernate.util.SerializationHelper
public final class SerializationHelper
extends java.lang.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.
$Id: SerializationHelper.java 9180 2006-01-30 23:51:27Z steveebersole $static Object | clone(Serializable object) - Deep clone an
Object using serialization.
|
static Object | deserialize(InputStream inputStream) - Deserializes an
Object from the specified stream.
|
static Object | deserialize(byte[] objectData) - Deserializes a single
Object from an array of bytes.
|
static byte[] | serialize(Serializable obj) - Serializes an
Object to a byte array for
storage/serialization.
|
static void | serialize(Serializable obj, OutputStream outputStream) - Serializes an
Object to the specified stream.
|
clone
public static Object clone(Serializable object)
throws SerializationException
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
.
object
- the Serializable
object to clone
deserialize
public static Object deserialize(InputStream inputStream)
throws SerializationException
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.
inputStream
- the serialized object input stream, must not be null
deserialize
public static Object deserialize(byte[] objectData)
throws SerializationException
Deserializes a single Object
from an array of bytes.
objectData
- the serialized object, must not be null
serialize
public static byte[] serialize(Serializable obj)
throws SerializationException
Serializes an Object
to a byte array for
storage/serialization.
obj
- the object to serialize to bytes
- a byte[] with the converted Serializable
serialize
public static void serialize(Serializable obj,
OutputStream outputStream)
throws SerializationException
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.
obj
- the object to serialize to bytes, may be nulloutputStream
- the stream to write to, must not be null