Class XmlSerializerProvider
- java.lang.Object
-
- com.fasterxml.jackson.databind.DatabindContext
-
- com.fasterxml.jackson.databind.SerializerProvider
-
- com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
-
- com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider
-
- All Implemented Interfaces:
java.io.Serializable
public class XmlSerializerProvider extends DefaultSerializerProvider
We need to override some parts ofSerializerProvider
implementation to handle oddities of XML output, like "extra" root element.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
DefaultSerializerProvider.Impl
-
-
Field Summary
-
Fields inherited from class com.fasterxml.jackson.databind.SerializerProvider
DEFAULT_NULL_KEY_SERIALIZER
-
-
Constructor Summary
Constructors Constructor Description XmlSerializerProvider(XmlSerializerProvider src, SerializationConfig config, SerializerFactory f)
XmlSerializerProvider(XmlRootNameLookup rootNames)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DefaultSerializerProvider
copy()
Method needed to ensure thatObjectMapper.copy()
will work properly; specifically, that caches are cleared, but settings will otherwise remain identical; and that no sharing of state occurs.DefaultSerializerProvider
createInstance(SerializationConfig config, SerializerFactory jsf)
Method that sub-classes need to implement: used to create a non-blueprint instances from the blueprint.void
serializePolymorphic(JsonGenerator gen, java.lang.Object value, JavaType rootType, JsonSerializer<java.lang.Object> valueSer, TypeSerializer typeSer)
Alternate serialization call used for polymorphic types, whenTypeSerializer
is already known, but the actual serializer may or may not be.void
serializeValue(JsonGenerator gen, java.lang.Object value)
The method to be called byObjectMapper
andObjectWriter
for serializing given value, using serializers that this provider has access to (via caching and/or creating new serializers as need be).void
serializeValue(JsonGenerator gen, java.lang.Object value, JavaType rootType)
The method to be called byObjectMapper
andObjectWriter
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),void
serializeValue(JsonGenerator gen, java.lang.Object value, JavaType rootType, JsonSerializer<java.lang.Object> ser)
The method to be called byObjectWriter
for serializing given value (assumed to be of specified root type, instead of runtime type of value), when it may know specificJsonSerializer
to use.DefaultSerializerProvider
withCaches(CacheProvider cacheProvider)
Fluent factory method used for constructing a new instance with cache instances provided byCacheProvider
.-
Methods inherited from class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
acceptJsonFormatVisitor, cachedSerializersCount, findObjectId, flushCachedSerializers, generateJsonSchema, getGenerator, hasSerializerFor, includeFilterInstance, includeFilterSuppressNulls, serializerInstance
-
Methods inherited from class com.fasterxml.jackson.databind.SerializerProvider
bufferForValueConversion, bufferForValueConversion, canOverrideAccessModifiers, constructSpecializedType, defaultSerializeDateKey, defaultSerializeDateKey, defaultSerializeDateValue, defaultSerializeDateValue, defaultSerializeField, defaultSerializeNull, defaultSerializeValue, findContentValueSerializer, findContentValueSerializer, findKeySerializer, findKeySerializer, findNullKeySerializer, findNullValueSerializer, findPrimaryPropertySerializer, findPrimaryPropertySerializer, findTypedValueSerializer, findTypedValueSerializer, findTypeSerializer, findValueSerializer, findValueSerializer, findValueSerializer, findValueSerializer, getActiveView, getAnnotationIntrospector, getAttribute, getConfig, getDatatypeFeatures, getDefaultNullKeySerializer, getDefaultNullValueSerializer, getDefaultPropertyFormat, getDefaultPropertyInclusion, getFilterProvider, getLocale, getTimeZone, getTypeFactory, getUnknownTypeSerializer, handlePrimaryContextualization, handleSecondaryContextualization, hasSerializationFeatures, invalidTypeIdException, isEnabled, isEnabled, isEnabled, isUnknownTypeSerializer, mappingException, reportBadDefinition, reportBadDefinition, reportBadDefinition, reportBadPropertyDefinition, reportBadTypeDefinition, reportMappingProblem, reportMappingProblem, setAttribute, setDefaultKeySerializer, setNullKeySerializer, setNullValueSerializer
-
Methods inherited from class com.fasterxml.jackson.databind.DatabindContext
constructType, converterInstance, objectIdGeneratorInstance, objectIdResolverInstance, reportBadDefinition, resolveAndValidateSubType, resolveSubType
-
-
-
-
Constructor Detail
-
XmlSerializerProvider
public XmlSerializerProvider(XmlRootNameLookup rootNames)
-
XmlSerializerProvider
public XmlSerializerProvider(XmlSerializerProvider src, SerializationConfig config, SerializerFactory f)
-
-
Method Detail
-
copy
public DefaultSerializerProvider copy()
Description copied from class:DefaultSerializerProvider
Method needed to ensure thatObjectMapper.copy()
will work properly; specifically, that caches are cleared, but settings will otherwise remain identical; and that no sharing of state occurs.- Overrides:
copy
in classDefaultSerializerProvider
-
withCaches
public DefaultSerializerProvider withCaches(CacheProvider cacheProvider)
Description copied from class:DefaultSerializerProvider
Fluent factory method used for constructing a new instance with cache instances provided byCacheProvider
.- Specified by:
withCaches
in classDefaultSerializerProvider
-
createInstance
public DefaultSerializerProvider createInstance(SerializationConfig config, SerializerFactory jsf)
Description copied from class:DefaultSerializerProvider
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.- Specified by:
createInstance
in classDefaultSerializerProvider
-
serializeValue
public void serializeValue(JsonGenerator gen, java.lang.Object value) throws java.io.IOException
Description copied from class:DefaultSerializerProvider
The method to be called byObjectMapper
andObjectWriter
for serializing given value, using serializers that this provider has access to (via caching and/or creating new serializers as need be).- Overrides:
serializeValue
in classDefaultSerializerProvider
- Throws:
java.io.IOException
-
serializeValue
public void serializeValue(JsonGenerator gen, java.lang.Object value, JavaType rootType) throws java.io.IOException
Description copied from class:DefaultSerializerProvider
The method to be called byObjectMapper
andObjectWriter
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),- Overrides:
serializeValue
in classDefaultSerializerProvider
rootType
- Type to use for locating serializer to use, instead of actual runtime type. Must be actual type, or one of its super types- Throws:
java.io.IOException
-
serializeValue
public void serializeValue(JsonGenerator gen, java.lang.Object value, JavaType rootType, JsonSerializer<java.lang.Object> ser) throws java.io.IOException
Description copied from class:DefaultSerializerProvider
The method to be called byObjectWriter
for serializing given value (assumed to be of specified root type, instead of runtime type of value), when it may know specificJsonSerializer
to use.- Overrides:
serializeValue
in classDefaultSerializerProvider
rootType
- Type to use for locating serializer to use, instead of actual runtime type, if no serializer is passedser
- Root Serializer to use, if not null- Throws:
java.io.IOException
-
serializePolymorphic
public void serializePolymorphic(JsonGenerator gen, java.lang.Object value, JavaType rootType, JsonSerializer<java.lang.Object> valueSer, TypeSerializer typeSer) throws java.io.IOException
Description copied from class:DefaultSerializerProvider
Alternate serialization call used for polymorphic types, whenTypeSerializer
is already known, but the actual serializer may or may not be.- Overrides:
serializePolymorphic
in classDefaultSerializerProvider
- Throws:
java.io.IOException
-
-