public class MessageSerializer extends Object implements Serializer
SerializationAware support. This class can either be used as a
wrapper around a Serializer, or as a static utility class.
The serializePayload and serializeMetaData methods on this class are aware of
SerializationAware messages. When a Message implements that interface, serialization is delegated to that message to
allow performance optimizations.
Using this class to serialize the payload and meta-data of Message is preferred over the serialization using the
Serializer class.| Constructor and Description |
|---|
MessageSerializer(Serializer serializer)
Initializes the MessageSerializer as a wrapper around the given serializer.
|
| Modifier and Type | Method and Description |
|---|---|
<T> boolean |
canSerializeTo(Class<T> expectedRepresentation)
Indicates whether this Serializer is capable of serializing to the given
expectedRepresentation. |
Class |
classForType(SerializedType type)
Returns the class for the given type identifier.
|
<S,T> T |
deserialize(SerializedObject<S> serializedObject)
Deserializes the first object read from the given
bytes. |
ConverterFactory |
getConverterFactory()
Returns the converter factory used by this Serializer to convert between serialized representations.
|
<T> SerializedObject<T> |
serialize(Object object,
Class<T> expectedRepresentation)
Serialize the given
object into a Serialized Object containing the given
expectedRepresentation. |
<T> SerializedObject<T> |
serializeMetaData(Message<?> message,
Class<T> expectedRepresentation)
Serialize the meta data of given
message to the given expectedRepresentation. |
static <T> SerializedObject<T> |
serializeMetaData(Message<?> message,
Serializer serializer,
Class<T> expectedRepresentation)
Utility method that serializes the meta data of the given
message using given
serializer and expectedRepresentation. |
<T> SerializedObject<T> |
serializePayload(Message<?> message,
Class<T> expectedRepresentation)
Serialize the payload of given
message to the given expectedRepresentation. |
static <T> SerializedObject<T> |
serializePayload(Message<?> message,
Serializer serializer,
Class<T> expectedRepresentation)
Utility method that serializes the payload of the given
message using given serializer
and expectedRepresentation. |
SerializedType |
typeForClass(Class type)
Returns the type identifier for the given class.
|
public MessageSerializer(Serializer serializer)
serializer - the serializer to serialize and deserialize objects withpublic static <T> SerializedObject<T> serializePayload(Message<?> message, Serializer serializer, Class<T> expectedRepresentation)
message using given serializer
and expectedRepresentation. This method will verify if the eventMessage is SerializationAware.T - The data type to serialize tomessage - The message containing the payload to serializeserializer - The serializer to serialize the payload withexpectedRepresentation - The data type to serialize topublic static <T> SerializedObject<T> serializeMetaData(Message<?> message, Serializer serializer, Class<T> expectedRepresentation)
message using given
serializer and expectedRepresentation. This method will verify if the
eventMessage is SerializationAware.T - The data type to serialize tomessage - The message containing the meta data to serializeserializer - The serializer to serialize the meta data withexpectedRepresentation - The data type to serialize topublic <T> SerializedObject<T> serializePayload(Message<?> message, Class<T> expectedRepresentation)
message to the given expectedRepresentation.T - The representation of the serialized datamessage - The message containing the payload to serializeexpectedRepresentation - The representation of the serialized datapublic <T> SerializedObject<T> serializeMetaData(Message<?> message, Class<T> expectedRepresentation)
message to the given expectedRepresentation.T - The representation of the serialized datamessage - The message containing the meta data to serializeexpectedRepresentation - The representation of the serialized datapublic <T> SerializedObject<T> serialize(Object object, Class<T> expectedRepresentation)
Serializerobject into a Serialized Object containing the given
expectedRepresentation.
Use Serializer.canSerializeTo(Class) to detect whether the expectedRepresentation is supported by
this serializer.serialize in interface SerializerT - The expected data type representing the serialized objectobject - The object to serializeexpectedRepresentation - The expected data type representing the serialized objectpublic <T> boolean canSerializeTo(Class<T> expectedRepresentation)
SerializerexpectedRepresentation.
When true, this does *not* guarantee that the serialization and (optional) conversion will also
succeed when executed. For example, when a serializer produces a byte[] containing JSON, trying to
convert to a Dom4J Document will fail, even though this serializer has a converter to convert
byte[]
to Dom4J instances.canSerializeTo in interface SerializerT - The type of data a Serialized Object should containexpectedRepresentation - The type of data a Serialized Object should containtrue if the expectedRepresentation is supported, otherwise false.public <S,T> T deserialize(SerializedObject<S> serializedObject)
Serializerbytes. The bytes are not consumed
from the array or modified in any way. The resulting object instance is cast to the expected type.deserialize in interface SerializerS - The data type of the serialized objectT - The expected deserialized typeserializedObject - the instance describing the type of object and the bytes providing the serialized datapublic Class classForType(SerializedType type)
Serializertype is an instance of the returned Class.
If a class cannot be resolved (i.e. because the class is not available on this JVM's classpath) this method
throws UnknownSerializedTypeException.classForType in interface Serializertype - The type identifier of the objectpublic SerializedType typeForClass(Class type)
SerializerSerializer.serialize(Object, Class).typeForClass in interface Serializertype - Class representing the type of the serializable Object.public ConverterFactory getConverterFactory()
SerializergetConverterFactory in interface SerializerCopyright © 2010-2014. All Rights Reserved.