Class XStreamSerializer
- java.lang.Object
-
- io.axoniq.dataprotection.serialization.AbstractXStreamSerializer
-
- io.axoniq.dataprotection.serialization.xml.XStreamSerializer
-
- All Implemented Interfaces:
Serializer
public class XStreamSerializer extends AbstractXStreamSerializer
Serializer that uses XStream to serialize and deserialize arbitrary objects. The XStream instance is configured to deal with the Classes used in Axon Framework in the most compact fashion. When running on a Sun JVM, XStream does not pose any restrictions on classes to serialize. On other JVM's, however, you need to either implement Serializable, or provide a default constructor (accessible under the JVM's security policy). That means that for portability, you should do either of these two.- Since:
- 1.2
- Author:
- Allard Buijze
- See Also:
XStream
-
-
Constructor Summary
Constructors Constructor Description XStreamSerializer()Initialize a generic serializer using the UTF-8 character set.XStreamSerializer(com.thoughtworks.xstream.XStream xStream)Initialize a generic serializer using the UTF-8 character set.XStreamSerializer(com.thoughtworks.xstream.XStream xStream, RevisionResolver revisionResolver)Initialize a generic serializer using the UTF-8 character set.XStreamSerializer(RevisionResolver revisionResolver)Initialize a generic serializer using the UTF-8 character set.XStreamSerializer(Charset charset)Initialize the serializer using the givencharset.XStreamSerializer(Charset charset, com.thoughtworks.xstream.XStream xStream, RevisionResolver revisionResolver)Initialize the serializer using the givencharsetandxStreaminstance.XStreamSerializer(Charset charset, com.thoughtworks.xstream.XStream xStream, RevisionResolver revisionResolver, Converter converter)Initialize the serializer using the givencharsetandxStreaminstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectdoDeserialize(SerializedObject serializedObject, com.thoughtworks.xstream.XStream xStream)Deserialize the givenserializedObject.protected <T> TdoSerialize(Object object, Class<T> expectedFormat, com.thoughtworks.xstream.XStream xStream)Serialize the givenobjectto the givenexpectedFormat.protected voidregisterConverters(ChainingConverter converter)Registers any converters that are specific to the type of content written by this serializer.-
Methods inherited from class io.axoniq.dataprotection.serialization.AbstractXStreamSerializer
addAlias, addFieldAlias, addPackageAlias, canSerializeTo, classForType, convert, deserialize, getCharset, getConverter, getXStream, serialize, typeForClass
-
-
-
-
Constructor Detail
-
XStreamSerializer
public XStreamSerializer()
Initialize a generic serializer using the UTF-8 character set. A default XStream instance (withXppDriver) is used to perform the serialization.
-
XStreamSerializer
public XStreamSerializer(RevisionResolver revisionResolver)
Initialize a generic serializer using the UTF-8 character set. A default XStream instance (withXppDriver) is used to perform the serialization.- Parameters:
revisionResolver- The strategy to use to resolve the revision of an object
-
XStreamSerializer
public XStreamSerializer(com.thoughtworks.xstream.XStream xStream)
Initialize a generic serializer using the UTF-8 character set. The provided XStream instance is used to perform the serialization.- Parameters:
xStream- XStream instance to use
-
XStreamSerializer
public XStreamSerializer(com.thoughtworks.xstream.XStream xStream, RevisionResolver revisionResolver)Initialize a generic serializer using the UTF-8 character set. The provided XStream instance is used to perform the serialization.- Parameters:
xStream- XStream instance to userevisionResolver- The strategy to use to resolve the revision of an object
-
XStreamSerializer
public XStreamSerializer(Charset charset)
Initialize the serializer using the givencharset. A default XStream instance (withXppDriver) is used to perform the serialization.- Parameters:
charset- The character set to use
-
XStreamSerializer
public XStreamSerializer(Charset charset, com.thoughtworks.xstream.XStream xStream, RevisionResolver revisionResolver)
Initialize the serializer using the givencharsetandxStreaminstance. ThexStreaminstance is configured with several converters for the most common types in Axon.- Parameters:
charset- The character set to usexStream- The XStream instance to userevisionResolver- The strategy to use to resolve the revision of an object
-
XStreamSerializer
public XStreamSerializer(Charset charset, com.thoughtworks.xstream.XStream xStream, RevisionResolver revisionResolver, Converter converter)
Initialize the serializer using the givencharsetandxStreaminstance. The givenconverteris used to convert serialized objects for use by Upcasters. ThexStreaminstance is configured with several converters for the most common types in Axon.- Parameters:
charset- The character set to usexStream- The XStream instance to userevisionResolver- The strategy to use to resolve the revision of an objectconverter- The factory providing the converter instances for upcasters
-
-
Method Detail
-
doSerialize
protected <T> T doSerialize(Object object, Class<T> expectedFormat, com.thoughtworks.xstream.XStream xStream)
Description copied from class:AbstractXStreamSerializerSerialize the givenobjectto the givenexpectedFormat. The subclass may useAbstractXStreamSerializer.convert(Object, Class, Class)to convert the result of the serialization to the expected type.- Specified by:
doSerializein classAbstractXStreamSerializer- Type Parameters:
T- The format in which the serialized object must be returned- Parameters:
object- The object to serializeexpectedFormat- The format in which the serialized object must be returnedxStream- The XStream instance to serialize with- Returns:
- The serialized object
-
doDeserialize
public Object doDeserialize(SerializedObject serializedObject, com.thoughtworks.xstream.XStream xStream)
Description copied from class:AbstractXStreamSerializerDeserialize the givenserializedObject.- Specified by:
doDeserializein classAbstractXStreamSerializer- Parameters:
serializedObject- The instance containing the serialized format of the objectxStream- The XStream instance to deserialize with- Returns:
- the deserialized object
-
registerConverters
protected void registerConverters(ChainingConverter converter)
Description copied from class:AbstractXStreamSerializerRegisters any converters that are specific to the type of content written by this serializer.- Specified by:
registerConvertersin classAbstractXStreamSerializer- Parameters:
converter- the Converter to register the converters with
-
-