Package org.ehcache.spi.serialization
Interface Serializer<T>
- Type Parameters:
T- the type of the instances to serialize
- All Known Subinterfaces:
StatefulSerializer<T>
public interface Serializer<T>
Defines the contract used to transform type instances to and from a serial form.
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())
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbooleanequals(T object, ByteBuffer binary) Checks if the given instance and serial formrepresentthe same instance.read(ByteBuffer binary) Reconstructs an instance from the given serial form.Transforms the given instance into its serial form.
-
Method Details
-
serialize
Transforms the given instance into its serial form.- Parameters:
object- the instance to serialize- Returns:
- the binary representation of the serial form
- Throws:
SerializerException- if serialization fails
-
read
Reconstructs an instance from the given serial form.- Parameters:
binary- the binary representation of the serial form- Returns:
- the de-serialized instance
- Throws:
SerializerException- if reading the byte buffer failsClassNotFoundException- if the type to de-serialize to cannot be found
-
equals
Checks if the given instance and serial formrepresentthe same instance.- Parameters:
object- the instance to checkbinary- the serial form to check- Returns:
trueif both parameters represent equal instances,falseotherwise- Throws:
SerializerException- if reading the byte buffer failsClassNotFoundException- if the type to de-serialize to cannot be found
-