Top Description Fields Constructors Methods
com.fasterxml.jackson.dataformat.xml.ser

public Class XmlSerializerProvider

extends DefaultSerializerProvider
Class Inheritance
Imports
java.io.IOException, java.util.Map, javax.xml.namespace.QName, javax.xml.stream.XMLStreamException, com.fasterxml.jackson.core.*, com.fasterxml.jackson.databind.*, com.fasterxml.jackson.databind.cfg.CacheProvider, com.fasterxml.jackson.databind.jsontype.TypeSerializer, com.fasterxml.jackson.databind.node.ObjectNode, com.fasterxml.jackson.databind.ser.SerializerFactory, .DefaultSerializerProvider, com.fasterxml.jackson.databind.util.TokenBuffer, com.fasterxml.jackson.dataformat.xml.util.StaxUtil, .TypeUtil, .XmlRootNameLookup

We need to override some parts of com.fasterxml.jackson.databind.SerializerProvider implementation to handle oddities of XML output, like "extra" root element.

Field Summary

Modifier and TypeField and Description
protected final XmlRootNameLookup
private static final long
Inherited from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider:
_generator_objectIdGenerators_seenObjectIds

Constructor Summary

AccessConstructor and Description
public
public
protected
protected

Method Summary

Modifier and TypeMethod and Description
protected ToXmlGenerator
protected void
protected QName
protected void
protected void
protected boolean
protected void
protected IOException
public DefaultSerializerProvider
copy()

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.copy.

Method needed to ensure that ObjectMapper#copy will work properly; specifically, that caches are cleared, but settings will otherwise remain identical; and that no sharing of state occurs.

public DefaultSerializerProvider
createInstance(SerializationConfig config, SerializerFactory jsf)

Implements abstract com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.createInstance.

Method that sub-classes need to implement: used to create a non-blueprint instances from the blueprint.

public void
serializePolymorphic(JsonGenerator gen, Object value, JavaType rootType, JsonSerializer<Object> valueSer, TypeSerializer typeSer)

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializePolymorphic.

Alternate serialization call used for polymorphic types, when TypeSerializer is already known, but the actual serializer may or may not be.

public void
serializeValue(JsonGenerator gen, Object value)

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

The method to be called by ObjectMapper and ObjectWriter for serializing given value, using serializers that this provider has access to (via caching and/or creating new serializers as need be).

public void
serializeValue(JsonGenerator gen, Object value, JavaType
Type to use for locating serializer to use, instead of actual runtime type. Must be actual type, or one of its super types
rootType
)

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

The method to be called by ObjectMapper and ObjectWriter for serializing given value (assumed to be of specified root type, instead of runtime type of value), using serializers that this provider has access to (via caching and/or creating new serializers as need be),

public void
serializeValue(JsonGenerator gen, Object value, JavaType
Type to use for locating serializer to use, instead of actual runtime type, if no serializer is passed
rootType
,
JsonSerializer<Object>
Root Serializer to use, if not null
ser
)

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

The method to be called by ObjectWriter for serializing given value (assumed to be of specified root type, instead of runtime type of value), when it may know specific JsonSerializer to use.

public DefaultSerializerProvider
withCaches(CacheProvider cacheProvider)

Implements abstract com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.withCaches.

Fluent factory method used for constructing a new instance with cache instances provided by CacheProvider.

Inherited from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider:
_createObjectIdMap_serializeNullacceptJsonFormatVisitorcachedSerializersCountfindObjectIdflushCachedSerializersgenerateJsonSchemagetGeneratorhasSerializerForincludeFilterInstanceincludeFilterSuppressNullsserializerInstance

Field Detail

_rootNameLookupback to summary
protected final XmlRootNameLookup _rootNameLookup
serialVersionUIDback to summary
private static final long serialVersionUID

Hides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serialVersionUID.

Constructor Detail

XmlSerializerProviderback to summary
public XmlSerializerProvider(XmlRootNameLookup rootNames)
XmlSerializerProviderback to summary
public XmlSerializerProvider(XmlSerializerProvider src, SerializationConfig config, SerializerFactory f)
XmlSerializerProviderback to summary
protected XmlSerializerProvider(XmlSerializerProvider src, CacheProvider cp)
Since
2.16
XmlSerializerProviderback to summary
protected XmlSerializerProvider(XmlSerializerProvider src)
Since
2.8.9

Method Detail

_asXmlGeneratorback to summary
protected ToXmlGenerator _asXmlGenerator(JsonGenerator gen) throws JsonMappingException
_initWithRootNameback to summary
protected void _initWithRootName(ToXmlGenerator xgen, QName rootName) throws IOException
_rootNameFromConfigback to summary
protected QName _rootNameFromConfig()
_serializeUnwrappedObjectNodeback to summary
protected void _serializeUnwrappedObjectNode(ToXmlGenerator xgen, Object value, JsonSerializer<Object> ser) throws IOException
_serializeXmlNullback to summary
protected void _serializeXmlNull(JsonGenerator gen) throws IOException
_shouldUnwrapObjectNodeback to summary
protected boolean _shouldUnwrapObjectNode(ToXmlGenerator xgen, Object value)
_startRootArrayback to summary
protected void _startRootArray(ToXmlGenerator xgen, QName rootName) throws IOException
_wrapAsIOEback to summary
protected IOException _wrapAsIOE(JsonGenerator g, Exception e)

Hides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._wrapAsIOE.

copyback to summary
public DefaultSerializerProvider copy()

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.copy.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.copy.

Method needed to ensure that ObjectMapper#copy will work properly; specifically, that caches are cleared, but settings will otherwise remain identical; and that no sharing of state occurs.

Annotations
@Override
createInstanceback to summary
public DefaultSerializerProvider createInstance(SerializationConfig config, SerializerFactory jsf)

Implements abstract com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.createInstance.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.createInstance.

Method that sub-classes need to implement: used to create a non-blueprint instances from the blueprint. This is needed to retain state during serialization.

Annotations
@Override
serializePolymorphicback to summary
public void serializePolymorphic(JsonGenerator gen, Object value, JavaType rootType, JsonSerializer<Object> valueSer, TypeSerializer typeSer) throws IOException

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializePolymorphic.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializePolymorphic.

Alternate serialization call used for polymorphic types, when TypeSerializer is already known, but the actual serializer may or may not be.

Annotations
@SuppressWarnings:resource
@Override
serializeValueback to summary
public void serializeValue(JsonGenerator gen, Object value) throws IOException

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

The method to be called by ObjectMapper and ObjectWriter for serializing given value, using serializers that this provider has access to (via caching and/or creating new serializers as need be).

Annotations
@SuppressWarnings:resource
@Override
serializeValueback to summary
public void serializeValue(JsonGenerator gen, Object value, JavaType rootType) throws IOException

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

The method to be called by ObjectMapper and ObjectWriter for serializing given value (assumed to be of specified root type, instead of runtime type of value), using serializers that this provider has access to (via caching and/or creating new serializers as need be),

Parameters
rootType:JavaType

Type to use for locating serializer to use, instead of actual runtime type. Must be actual type, or one of its super types

Annotations
@Override
serializeValueback to summary
public void serializeValue(JsonGenerator gen, Object value, JavaType rootType, JsonSerializer<Object> ser) throws IOException

Overrides com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue.

The method to be called by ObjectWriter for serializing given value (assumed to be of specified root type, instead of runtime type of value), when it may know specific JsonSerializer to use.

Parameters
rootType:JavaType

Type to use for locating serializer to use, instead of actual runtime type, if no serializer is passed

ser:JsonSerializer<Object>

Root Serializer to use, if not null

Annotations
@SuppressWarnings:resource
@Override
withCachesback to summary
public DefaultSerializerProvider withCaches(CacheProvider cacheProvider)

Implements abstract com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.withCaches.

Doc from com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.withCaches.

Fluent factory method used for constructing a new instance with cache instances provided by CacheProvider.

Annotations
@Override