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:
Serializable

public class XmlSerializerProvider extends com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
We need to override some parts of SerializerProvider implementation to handle oddities of XML output, like "extra" root element.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider

    com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final XmlRootNameLookup
     
    private static final long
     

    Fields inherited from class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider

    _generator, _objectIdGenerators, _seenObjectIds

    Fields inherited from class com.fasterxml.jackson.databind.SerializerProvider

    _attributes, _config, _dateFormat, _keySerializer, _knownSerializers, _nullKeySerializer, _nullValueSerializer, _serializationView, _serializerCache, _serializerFactory, _stdNullValueSerializer, _unknownTypeSerializer, CACHE_UNKNOWN_MAPPINGS, DEFAULT_NULL_KEY_SERIALIZER, DEFAULT_UNKNOWN_SERIALIZER
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    XmlSerializerProvider(XmlSerializerProvider src, com.fasterxml.jackson.databind.cfg.CacheProvider cp)
     
     
    XmlSerializerProvider(XmlSerializerProvider src, com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.ser.SerializerFactory f)
     
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected ToXmlGenerator
    _asXmlGenerator(com.fasterxml.jackson.core.JsonGenerator gen)
     
    protected void
     
    protected QName
     
    protected void
    _serializeUnwrappedObjectNode(ToXmlGenerator xgen, Object value, com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
     
    protected void
    _serializeXmlNull(com.fasterxml.jackson.core.JsonGenerator gen)
     
    protected boolean
     
    protected void
     
    protected IOException
    _wrapAsIOE(com.fasterxml.jackson.core.JsonGenerator g, Exception e)
     
    com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
     
    com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
    createInstance(com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.ser.SerializerFactory jsf)
     
    void
    serializePolymorphic(com.fasterxml.jackson.core.JsonGenerator gen, Object value, com.fasterxml.jackson.databind.JavaType rootType, com.fasterxml.jackson.databind.JsonSerializer<Object> valueSer, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
     
    void
    serializeValue(com.fasterxml.jackson.core.JsonGenerator gen, Object value)
     
    void
    serializeValue(com.fasterxml.jackson.core.JsonGenerator gen, Object value, com.fasterxml.jackson.databind.JavaType rootType)
     
    void
    serializeValue(com.fasterxml.jackson.core.JsonGenerator gen, Object value, com.fasterxml.jackson.databind.JavaType rootType, com.fasterxml.jackson.databind.JsonSerializer<Object> ser)
     
    com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
    withCaches(com.fasterxml.jackson.databind.cfg.CacheProvider cacheProvider)
     

    Methods inherited from class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider

    _createObjectIdMap, _serializeNull, acceptJsonFormatVisitor, cachedSerializersCount, findObjectId, flushCachedSerializers, generateJsonSchema, getGenerator, hasSerializerFor, includeFilterInstance, includeFilterSuppressNulls, serializerInstance

    Methods inherited from class com.fasterxml.jackson.databind.SerializerProvider

    _createAndCacheUntypedSerializer, _createAndCacheUntypedSerializer, _createUntypedSerializer, _dateFormat, _findExplicitUntypedSerializer, _handleContextualResolvable, _handleResolvable, _reportIncompatibleRootType, 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, mappingException, reportBadDefinition, reportBadDefinition, reportBadDefinition, reportBadPropertyDefinition, reportBadTypeDefinition, reportMappingProblem, reportMappingProblem, setAttribute, setDefaultKeySerializer, setNullKeySerializer, setNullValueSerializer

    Methods inherited from class com.fasterxml.jackson.databind.DatabindContext

    _colonConcat, _desc, _format, _quotedString, _throwNotASubtype, _throwSubtypeClassNotAllowed, _throwSubtypeNameNotAllowed, _truncate, constructType, converterInstance, objectIdGeneratorInstance, objectIdResolverInstance, reportBadDefinition, resolveAndValidateSubType, resolveSubType

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • XmlSerializerProvider

      public XmlSerializerProvider(XmlRootNameLookup rootNames)
    • XmlSerializerProvider

      public XmlSerializerProvider(XmlSerializerProvider src, com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.ser.SerializerFactory f)
    • XmlSerializerProvider

      protected XmlSerializerProvider(XmlSerializerProvider src, com.fasterxml.jackson.databind.cfg.CacheProvider cp)
      Since:
      2.16
    • XmlSerializerProvider

      protected XmlSerializerProvider(XmlSerializerProvider src)
      Since:
      2.8.9
  • Method Details

    • copy

      public com.fasterxml.jackson.databind.ser.DefaultSerializerProvider copy()
      Overrides:
      copy in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
    • withCaches

      public com.fasterxml.jackson.databind.ser.DefaultSerializerProvider withCaches(com.fasterxml.jackson.databind.cfg.CacheProvider cacheProvider)
      Specified by:
      withCaches in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
    • createInstance

      public com.fasterxml.jackson.databind.ser.DefaultSerializerProvider createInstance(com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.ser.SerializerFactory jsf)
      Specified by:
      createInstance in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
    • serializeValue

      public void serializeValue(com.fasterxml.jackson.core.JsonGenerator gen, Object value) throws IOException
      Overrides:
      serializeValue in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
      Throws:
      IOException
    • serializeValue

      public void serializeValue(com.fasterxml.jackson.core.JsonGenerator gen, Object value, com.fasterxml.jackson.databind.JavaType rootType) throws IOException
      Overrides:
      serializeValue in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
      Throws:
      IOException
    • serializeValue

      public void serializeValue(com.fasterxml.jackson.core.JsonGenerator gen, Object value, com.fasterxml.jackson.databind.JavaType rootType, com.fasterxml.jackson.databind.JsonSerializer<Object> ser) throws IOException
      Overrides:
      serializeValue in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
      Throws:
      IOException
    • serializePolymorphic

      public void serializePolymorphic(com.fasterxml.jackson.core.JsonGenerator gen, Object value, com.fasterxml.jackson.databind.JavaType rootType, com.fasterxml.jackson.databind.JsonSerializer<Object> valueSer, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) throws IOException
      Overrides:
      serializePolymorphic in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
      Throws:
      IOException
    • _serializeXmlNull

      protected void _serializeXmlNull(com.fasterxml.jackson.core.JsonGenerator gen) throws IOException
      Throws:
      IOException
    • _startRootArray

      protected void _startRootArray(ToXmlGenerator xgen, QName rootName) throws IOException
      Throws:
      IOException
    • _initWithRootName

      protected void _initWithRootName(ToXmlGenerator xgen, QName rootName) throws IOException
      Throws:
      IOException
    • _rootNameFromConfig

      protected QName _rootNameFromConfig()
    • _shouldUnwrapObjectNode

      protected boolean _shouldUnwrapObjectNode(ToXmlGenerator xgen, Object value)
    • _serializeUnwrappedObjectNode

      protected void _serializeUnwrappedObjectNode(ToXmlGenerator xgen, Object value, com.fasterxml.jackson.databind.JsonSerializer<Object> ser) throws IOException
      Throws:
      IOException
    • _asXmlGenerator

      protected ToXmlGenerator _asXmlGenerator(com.fasterxml.jackson.core.JsonGenerator gen) throws com.fasterxml.jackson.databind.JsonMappingException
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException
    • _wrapAsIOE

      protected IOException _wrapAsIOE(com.fasterxml.jackson.core.JsonGenerator g, Exception e)