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. |
Converter |
getConverter()
Returns the
Converter 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 Converter getConverter()
SerializerConverter used by this Serializer to convert between serialized representations. Generally,
this Converter depends on the type of data the serializer serializes to.getConverter in interface SerializerCopyright © 2010–2018. All rights reserved.