com.fasterxml.jackson.dataformat.xml
Class JacksonXmlModule

java.lang.Object
  extended by com.fasterxml.jackson.databind.Module
      extended by com.fasterxml.jackson.databind.module.SimpleModule
          extended by com.fasterxml.jackson.dataformat.xml.JacksonXmlModule
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Serializable

public class JacksonXmlModule
extends com.fasterxml.jackson.databind.module.SimpleModule
implements 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
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  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, _deserializers, _keyDeserializers, _keySerializers, _mixins, _name, _serializers, _subtypes, _valueInstantiators, _version
 
Constructor Summary
JacksonXmlModule()
           
 
Method Summary
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(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
addAbstractTypeMapping, addDeserializer, addKeyDeserializer, addKeySerializer, addSerializer, addSerializer, addValueInstantiator, getModuleName, registerSubtypes, registerSubtypes, setAbstractTypes, setDeserializers, setKeyDeserializers, setKeySerializers, setMixInAnnotation, setSerializers, setValueInstantiators, version
 
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 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(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:
state - Whether to enable or disable "use wrapper for non-annotated List properties"
Since:
2.1

_constructIntrospector

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


Copyright © 2012 FasterXML. All Rights Reserved.