org.apache.commons.lang

Class SerializationUtils


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

Constructor Summary

SerializationUtils()
SerializationUtils instances should NOT be constructed in standard programming.

Method Summary

static Object
clone(Serializable object)
Deep clone an Object using serialization.
static Object
deserialize(byte[] objectData)
Deserializes a single Object from an array of bytes.
static Object
deserialize(InputStream inputStream)
Deserializes an Object from the specified stream.
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.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

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 Details

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 - the Serializable object to clone
Returns:
the cloned object
Throws:
SerializationException - (runtime) if the serialization fails
Usages and Demos :

View More Examples of clone(Serializable object)
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: import org.apache.commons.lang.SystemUtils;
   4:         ...
   5:             {
   6:                 return (JdbcConnectionDescriptor) SerializationUtils.clone(jcd);
   7:             }
   8:         ...
   9:     {
  10:         return (List) SerializationUtils.clone(new ArrayList(jcdMap.values()));
  11:     }

View Full Code Here
   1: import junit.framework.TestCase;
   2: import org.apache.commons.lang.SerializationUtils;
   3: import org.apache.ojb.broker.OJBRuntimeException;
   4:         ...
   5:             {
   6:                 oldRef = (ObjectReferenceDescriptor) SerializationUtils.clone(ref);
   7:                 fieldMap.put(ref.getPersistentField().getName(), oldRef);
   8:             }
   9:         }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: import org.apache.ojb.broker.PBKey;
   4:         ...
   5:             {
   6:                 jcd = (JdbcConnectionDescriptor) SerializationUtils.clone(jcd);
   7:             }
   8:         ...
   9:             {
  10:                 cld = (ClassDescriptor) SerializationUtils.clone(cld);
  11:             }
  12:         ...
  13:     {
  14:         return (DescriptorRepository) SerializationUtils.clone(globalRepository);

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: import org.apache.ojb.broker.metadata.ClassDescriptor;
   4:         ...
   5:             JdbcConnectionDescriptor jcd = mm.connectionRepository().getDescriptor(TestHelper.DEF_KEY);
   6:             jcd = (JdbcConnectionDescriptor) SerializationUtils.clone(jcd);
   7:             jcd.setJcdAlias(jcdAlias);
   8:         ...
   9:                 getDescriptor(PersistenceBrokerFactory.getDefaultKey());
  10:         SequenceDescriptor old_sd = (SequenceDescriptor) SerializationUtils.clone(jcd.getSequenceDescriptor());
  11:         PersistenceBroker broker;

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: import org.apache.commons.lang.math.NumberRange;
   4:         ...
   5:         Identity oid = new Identity(person, broker);
   6:         Person serializedPerson = (Person) SerializationUtils.clone(person);
   7:         broker.store(person);
   8:         ...
   9:         broker.beginTransaction();
  10:         Person serializedPerson = (Person) SerializationUtils.clone(person);
  11:         broker.store(person);

View Full Code Here

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 - if objectData is null
SerializationException - (runtime) if the serialization fails
Usages and Demos :

View More Examples of deserialize(byte[] objectData)
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:     public static byte[] serialize(Serializable object) {
   6:         return SerializationUtils.serialize(object);
   7:     }
   8:         ...
   9:     public static Object deserialize(byte[] object) {
  10:         return SerializationUtils.deserialize(object);
  11:     }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         {
   6:             return SerializationUtils.deserialize(buffer);
   7:         }
   8: 
   9:         return buffer;

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:             {
   6:                 return SerializationUtils.deserialize((byte[]) src);
   7:             }
   8:         ...
   9:             {
  10:                 return SerializationUtils.deserialize((InputStream) src);

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         {
   6:             return SerializationUtils.serialize((Serializable) source);
   7:         }
   8:         ...
   9:         {
  10:             return SerializationUtils.deserialize((byte[]) source);
  11:         }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         try {
   6:             return SerializationUtils.serialize( (Serializable) object );
   7:         }
   8:         ...
   9:         try {
  10:             return SerializationUtils.deserialize(bytes);
  11:         }

View Full Code Here

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 - if inputStream is null
SerializationException - (runtime) if the serialization fails
Usages and Demos :

View More Examples of deserialize(InputStream inputStream)
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:     public static byte[] serialize(Serializable object) {
   6:         return SerializationUtils.serialize(object);
   7:     }
   8:         ...
   9:     public static Object deserialize(byte[] object) {
  10:         return SerializationUtils.deserialize(object);
  11:     }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         {
   6:             return SerializationUtils.deserialize(buffer);
   7:         }
   8: 
   9:         return buffer;

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:             {
   6:                 return SerializationUtils.deserialize((byte[]) src);
   7:             }
   8:         ...
   9:             {
  10:                 return SerializationUtils.deserialize((InputStream) src);

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         {
   6:             return SerializationUtils.serialize((Serializable) source);
   7:         }
   8:         ...
   9:         {
  10:             return SerializationUtils.deserialize((byte[]) source);
  11:         }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         try {
   6:             return SerializationUtils.serialize( (Serializable) object );
   7:         }
   8:         ...
   9:         try {
  10:             return SerializationUtils.deserialize(bytes);
  11:         }

View Full Code Here

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
Usages and Demos :

View More Examples of serialize(Serializable obj)
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:     public static byte[] serialize(Serializable object) {
   6:         return SerializationUtils.serialize(object);
   7:     }
   8:         ...
   9:     public static Object deserialize(byte[] object) {
  10:         return SerializationUtils.deserialize(object);
  11:     }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         {
   6:             return SerializationUtils.serialize((Serializable) source);
   7:         }
   8:         ...
   9:         {
  10:             return SerializationUtils.deserialize((byte[]) source);
  11:         }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         try {
   6:             return SerializationUtils.serialize( (Serializable) object );
   7:         }
   8:         ...
   9:         try {
  10:             return SerializationUtils.deserialize(bytes);
  11:         }

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         {
   6:             return SerializationUtils.serialize((Serializable) src);
   7:         }
   8:         catch (Exception e)
   9:         {

View Full Code Here
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: 
   4:         ...
   5:         try {
   6:             return SerializationUtils.serialize( (Serializable) object );
   7:         }
   8:         ...
   9:         try {
  10:             return SerializationUtils.deserialize(bytes);
  11:         }

View Full Code Here

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 null
outputStream - the stream to write to, must not be null
Throws:
IllegalArgumentException - if outputStream is null
SerializationException - (runtime) if the serialization fails
Usages and Demos :

View More Examples of serialize(Serializable obj,OutputStream outputStream)
   1: 
   2: import org.apache.commons.lang.SerializationUtils;
   3: import org.apache.commons.lang.SystemUtils;
   4:         ...
   5:             FileInputStream fis = new FileInputStream(serFile);
   6:             result = (DescriptorRepository) SerializationUtils.deserialize(fis);
   7:         }
   8:         ...
   9:             FileOutputStream fos = new FileOutputStream(file);
  10:             SerializationUtils.serialize(repository, fos);
  11:         }

View Full Code Here