Class XStreamMessageSerializer.Builder

java.lang.Object
no.mnemonic.messaging.requestsink.jms.serializer.XStreamMessageSerializer.Builder
Enclosing class:
XStreamMessageSerializer

public static class XStreamMessageSerializer.Builder extends Object
  • Method Details

    • build

      public XStreamMessageSerializer build()
    • setDecodingXstreamCustomizer

      public XStreamMessageSerializer.Builder setDecodingXstreamCustomizer(Consumer<com.thoughtworks.xstream.XStream> decodingXstreamCustomizer)
      Allow arbitrary non-standard customization of the decoding xstream converter WARNING Use with care!
      Parameters:
      decodingXstreamCustomizer - any code modifying the config of the decoding converter
    • setEncodingXstreamCustomizer

      public XStreamMessageSerializer.Builder setEncodingXstreamCustomizer(Consumer<com.thoughtworks.xstream.XStream> encodingXstreamCustomizer)
      Allow arbitrary non-standard customization of the encoding xstream converter WARNING Use with care!
      Parameters:
      encodingXstreamCustomizer - any code modifying the config of the encoding converter
    • setSerializerID

      public XStreamMessageSerializer.Builder setSerializerID(String serializerID)
    • setDriver

      public XStreamMessageSerializer.Builder setDriver(com.thoughtworks.xstream.io.HierarchicalStreamDriver driver)
    • addDecodingPackageAlias

      public XStreamMessageSerializer.Builder addDecodingPackageAlias(String alias, String packageName)
    • addDecodingTypeAlias

      public XStreamMessageSerializer.Builder addDecodingTypeAlias(String alias, Class type)
    • addPackageAlias

      public XStreamMessageSerializer.Builder addPackageAlias(String alias, String packageName)
    • addTypeAlias

      public XStreamMessageSerializer.Builder addTypeAlias(String alias, Class type)
    • addAllowedClass

      public XStreamMessageSerializer.Builder addAllowedClass(String allowedClassRegex)
    • addAllowedClass

      public XStreamMessageSerializer.Builder addAllowedClass(Class allowedClass)
    • setDisableReferences

      public XStreamMessageSerializer.Builder setDisableReferences(boolean disableReferences)
      Disable use of references when encoding XStream. Each reference will instead be encoded as a separate object. This avoids some compatibility issues if the decoding instance has a different version of the code. XStream should also run faster and with less memory usage when disabling references, but this will generate a slightly more verbose XML.
      Parameters:
      disableReferences - if true, disable use of references. Default is false (will use references)
    • setIgnoreUnknownEnumLiterals

      public XStreamMessageSerializer.Builder setIgnoreUnknownEnumLiterals(boolean ignoreUnknownEnumLiterals)
      This option will change deserialization of Enum literals, such that unknown enum literals are ignored. This is useful if e.g. the serializing sender has introduced a new Enum literal, which then cannot be decoded by the client. Note! Using this option means that any unknown literals will be decoded as null, so client code must be null safe!
      Parameters:
      ignoreUnknownEnumLiterals - if true, ignore any unknown enum literals and return null instead. Default is false (will throw exception on unknown enum literals)