T - the type of the instances to serializepublic interface Serializer<T>
Implementations must be thread-safe.
When used within the default serialization provider, there is an additional requirement.
The implementations must define a constructor that takes in a ClassLoader.
The ClassLoader value may be null. If not null, the class loader
instance provided should be used during deserialization to load classes needed by the deserialized objects.
The serialized object's class must be preserved; deserialization of the serial form of an object must return an object of the same class. The following contract must always be true:
object.getClass().equals( mySerializer.read(mySerializer.serialize(object)).getClass() )
SerializationProvider| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(T object,
java.nio.ByteBuffer binary)
Checks if the given instance and serial form
represent the same instance. |
T |
read(java.nio.ByteBuffer binary)
Reconstructs an instance from the given serial form.
|
java.nio.ByteBuffer |
serialize(T object)
Transforms the given instance into its serial form.
|
java.nio.ByteBuffer serialize(T object) throws SerializerException
object - the instance to serializeSerializerException - if serialization failsT read(java.nio.ByteBuffer binary) throws java.lang.ClassNotFoundException, SerializerException
binary - the binary representation of the serial formSerializerException - if reading the byte buffer failsjava.lang.ClassNotFoundException - if the type to de-serialize to cannot be foundboolean equals(T object, java.nio.ByteBuffer binary) throws java.lang.ClassNotFoundException, SerializerException
represent the same instance.object - the instance to checkbinary - the serial form to checktrue if both parameters represent equal instances, false otherwiseSerializerException - if reading the byte buffer failsjava.lang.ClassNotFoundException - if the type to de-serialize to cannot be found