Class JacksonXmlModule

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, java.io.Serializable

    public class JacksonXmlModule
    extends com.fasterxml.jackson.databind.module.SimpleModule
    implements java.io.Serializable
    Module that implements most functionality needed to support producing and consuming XML instead of JSON.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.Module

        com.fasterxml.jackson.databind.Module.SetupContext
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean _cfgDefaultUseWrapper
      Determination of whether indexed properties (arrays, Lists) that are not explicitly annotated (with JacksonXmlElementWrapper or equivalent) should default to using implicit wrapper (with same name as property) or not.
      protected java.lang.String _cfgNameForTextElement
      Name used for pseudo-property used for returning XML Text value (which does not have actual element name to use).
      • Fields inherited from class com.fasterxml.jackson.databind.module.SimpleModule

        _abstractTypes, _deserializerModifier, _deserializers, _keyDeserializers, _keySerializers, _mixins, _name, _namingStrategy, _serializerModifier, _serializers, _subtypes, _valueInstantiators, _version
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected com.fasterxml.jackson.databind.AnnotationIntrospector _constructIntrospector()  
      void setDefaultUseWrapper​(boolean state)
      Method that can be used to define whether AnnotationIntrospector we register will use wrapper for indexed (List, array) properties or not, if there are no explicit annotations.
      void setupModule​(com.fasterxml.jackson.databind.Module.SetupContext context)  
      void setXMLTextElementName​(java.lang.String name)
      Method that can be used to define alternate "virtual name" to use for XML CDATA segments; that is, text values.
      • Methods inherited from class com.fasterxml.jackson.databind.module.SimpleModule

        _checkNotNull, addAbstractTypeMapping, addDeserializer, addKeyDeserializer, addKeySerializer, addSerializer, addSerializer, addValueInstantiator, getModuleName, getTypeId, registerSubtypes, registerSubtypes, registerSubtypes, setAbstractTypes, setDeserializerModifier, setDeserializers, setKeyDeserializers, setKeySerializers, setMixInAnnotation, setNamingStrategy, setSerializerModifier, setSerializers, setValueInstantiators, version
      • Methods inherited from class com.fasterxml.jackson.databind.Module

        getDependencies
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _cfgDefaultUseWrapper

        protected boolean _cfgDefaultUseWrapper
        Determination of whether indexed properties (arrays, Lists) that are not explicitly annotated (with JacksonXmlElementWrapper or equivalent) should default to using implicit wrapper (with same name as property) or not. If enabled, wrapping is used by default; if false, it is not.

        Note that JAXB annotation introspector always assumes "do not wrap by default". Jackson annotations have different default due to backwards compatibility.

        Since:
        2.1
      • _cfgNameForTextElement

        protected java.lang.String _cfgNameForTextElement
        Name used for pseudo-property used for returning XML Text value (which does not have actual element name to use). Defaults to empty String, but may be changed for interoperability reasons: JAXB, for example, uses "value" as name.
        Since:
        2.1
    • Constructor Detail

      • JacksonXmlModule

        public JacksonXmlModule()
    • Method Detail

      • setupModule

        public void setupModule​(com.fasterxml.jackson.databind.Module.SetupContext context)
        Overrides:
        setupModule in class com.fasterxml.jackson.databind.module.SimpleModule
      • setDefaultUseWrapper

        public void setDefaultUseWrapper​(boolean state)
        Method that can be used to define whether AnnotationIntrospector we register will use wrapper for indexed (List, array) properties or not, if there are no explicit annotations. See JacksonXmlElementWrapper for details.

        Note that method MUST be called before registering the module; otherwise change will not have any effect.

        Parameters:
        state - Whether to enable or disable "use wrapper for non-annotated List properties"
        Since:
        2.1
      • setXMLTextElementName

        public void setXMLTextElementName​(java.lang.String name)
        Method that can be used to define alternate "virtual name" to use for XML CDATA segments; that is, text values. Default name is empty String (""); but some frameworks use other names: JAXB, for example, uses "value".

        Note that method MUST be called before registering the module; otherwise change will not have any effect.

        Parameters:
        name - Virtual name to use when exposing XML character data sections
        Since:
        2.1
      • _constructIntrospector

        protected com.fasterxml.jackson.databind.AnnotationIntrospector _constructIntrospector()