public static class XStreamSerializer.Builder extends AbstractXStreamSerializer.Builder
XStreamSerializer.
The XStream is defaulted to a XStream(HierarchicalStreamDriver) call, providing a CompactDriver, the Charset is defaulted to a Charset.forName(String) using the UTF-8
character set, the RevisionResolver defaults to an AnnotationRevisionResolver and the Converter defaults to a ChainingConverter. Lastly, the builder adds Axon types for XStream's security
settings by including "org.axonframework.** as a wildcard type. This can be disabled with the disableAxonTypeSecurity() operation when required.
Upon instantiation, several defaults aliases are added to the XStream instance, for example for the GenericDomainEventMessage, the GenericCommandMessage and the MetaData objects among others. Additionally, a MetaData Converter is registered too.
Lastly, if the provided Converter instance is of type ChainingConverter, then the XStreamSerializer.registerConverters(ChainingConverter) function will be called. This will register the Dom4JToByteArrayConverter, InputStreamToDom4jConverter, XomToStringConverter and InputStreamToXomConverter to the Converter chain.
xStream| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
XStreamSerializer |
build()
Initializes a
XStreamSerializer as specified through this Builder. |
XStreamSerializer.Builder |
charset(Charset charset)
Sets the
Charset used for the in- and output streams required by XStream for the to and from
xml function calls. |
XStreamSerializer.Builder |
classLoader(ClassLoader classLoader)
|
XStreamSerializer.Builder |
converter(Converter converter)
Sets the
Converter used as a converter factory providing converter instances utilized by upcasters to
convert between different content types. |
XStreamSerializer.Builder |
disableAxonTypeSecurity()
Configures the underlying
XStream instance to not include Axon's classes by default. |
XStreamSerializer.Builder |
lenientDeserialization()
Configures the underlying XStream instance to be lenient when deserializing data into Java objects.
|
XStreamSerializer.Builder |
revisionResolver(RevisionResolver revisionResolver)
Sets the
RevisionResolver used to resolve the revision from an object to be serialized. |
XStreamSerializer.Builder |
xStream(com.thoughtworks.xstream.XStream xStream)
Sets the
XStream used to perform the serialization of objects to XML, and vice versa. |
validatepublic XStreamSerializer.Builder xStream(@Nonnull com.thoughtworks.xstream.XStream xStream)
XStream used to perform the serialization of objects to XML, and vice versa. Defaults to a XStream(HierarchicalStreamDriver) call, providing the CompactDriver.xStream in class AbstractXStreamSerializer.BuilderxStream - the XStream used to perform the serialization of objects to XML, and vice versapublic XStreamSerializer.Builder charset(@Nonnull Charset charset)
AbstractXStreamSerializer.BuilderCharset used for the in- and output streams required by XStream for the to and from
xml function calls. Defaults to a Charset.forName(String) using the UTF-8 character set.charset in class AbstractXStreamSerializer.Buildercharset - the Charset used for the in- and output streams required by XStreampublic XStreamSerializer.Builder revisionResolver(@Nonnull RevisionResolver revisionResolver)
AbstractXStreamSerializer.BuilderRevisionResolver used to resolve the revision from an object to be serialized. Defaults to
an AnnotationRevisionResolver which resolves the revision based on the contents of the Revision annotation on the serialized classes.revisionResolver in class AbstractXStreamSerializer.BuilderrevisionResolver - a RevisionResolver used to resolve the revision from an object to be
serializedpublic XStreamSerializer.Builder converter(@Nonnull Converter converter)
AbstractXStreamSerializer.BuilderConverter used as a converter factory providing converter instances utilized by upcasters to
convert between different content types. Defaults to a ChainingConverter.converter in class AbstractXStreamSerializer.Builderconverter - a Converter used as a converter factory providing converter instances utilized by
upcasters to convert between different content typespublic XStreamSerializer.Builder classLoader(@Nonnull ClassLoader classLoader)
AbstractXStreamSerializer.BuilderClassLoader used as an override for default ClassLoader used in the XStream.
The same solution could thus be achieved by configuring the `XStream` instance directly.classLoader in class AbstractXStreamSerializer.BuilderclassLoader - a ClassLoader used as a class loader in XStreampublic XStreamSerializer.Builder lenientDeserialization()
AbstractXStreamSerializer.BuilderXStream.ignoreUnknownElements().lenientDeserialization in class AbstractXStreamSerializer.Builderpublic XStreamSerializer.Builder disableAxonTypeSecurity()
AbstractXStreamSerializer.BuilderXStream instance to not include Axon's classes by default.
Concretely, the XStream.allowTypesByWildcard(String[]) method will not be invoked with "org.axonframework.**".
It is recommended to disable this setting when complete control is required over the allowed types in this
serializer's XStream instance.
disableAxonTypeSecurity in class AbstractXStreamSerializer.Builderpublic XStreamSerializer build()
XStreamSerializer as specified through this Builder.XStreamSerializer as specified through this BuilderCopyright © 2010–2023. All rights reserved.