Class XmlSerializerProvider

  • All Implemented Interfaces:
    java.io.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:
    Serialized Form
    • 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 XmlRootNameLookup _rootNameLookup  
      protected static javax.xml.namespace.QName ROOT_NAME_FOR_NULL
      If all we get to serialize is a null, there's no way to figure out expected root name; so let's just default to something like "<null>"...
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected ToXmlGenerator _asXmlGenerator​(com.fasterxml.jackson.core.JsonGenerator gen)  
      protected void _initWithRootName​(ToXmlGenerator xgen, javax.xml.namespace.QName rootName)  
      protected javax.xml.namespace.QName _rootNameFromConfig()  
      protected void _serializeXmlNull​(com.fasterxml.jackson.core.JsonGenerator jgen)  
      protected void _startRootArray​(ToXmlGenerator xgen, javax.xml.namespace.QName rootName)  
      protected java.io.IOException _wrapAsIOE​(com.fasterxml.jackson.core.JsonGenerator g, java.lang.Exception e)  
      com.fasterxml.jackson.databind.ser.DefaultSerializerProvider copy()  
      com.fasterxml.jackson.databind.ser.DefaultSerializerProvider createInstance​(com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.ser.SerializerFactory jsf)  
      void serializeValue​(com.fasterxml.jackson.core.JsonGenerator gen, java.lang.Object value)  
      void serializeValue​(com.fasterxml.jackson.core.JsonGenerator gen, java.lang.Object value, com.fasterxml.jackson.databind.JavaType rootType, com.fasterxml.jackson.databind.JsonSerializer<java.lang.Object> ser)  
      • Methods inherited from class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider

        _createObjectIdMap, _serializeNull, acceptJsonFormatVisitor, cachedSerializersCount, findObjectId, flushCachedSerializers, generateJsonSchema, getGenerator, hasSerializerFor, includeFilterInstance, includeFilterSuppressNulls, serializePolymorphic, serializerInstance, serializeValue
      • Methods inherited from class com.fasterxml.jackson.databind.SerializerProvider

        _createAndCacheUntypedSerializer, _createAndCacheUntypedSerializer, _createUntypedSerializer, _dateFormat, _findExplicitUntypedSerializer, _handleContextualResolvable, _handleResolvable, _reportIncompatibleRootType, canOverrideAccessModifiers, defaultSerializeDateKey, defaultSerializeDateKey, defaultSerializeDateValue, defaultSerializeDateValue, defaultSerializeField, defaultSerializeNull, defaultSerializeValue, findKeySerializer, findKeySerializer, findNullKeySerializer, findNullValueSerializer, findPrimaryPropertySerializer, findPrimaryPropertySerializer, findTypedValueSerializer, findTypedValueSerializer, findTypeSerializer, findValueSerializer, findValueSerializer, findValueSerializer, findValueSerializer, getActiveView, getAnnotationIntrospector, getAttribute, getConfig, getDefaultNullKeySerializer, getDefaultNullValueSerializer, getDefaultPropertyFormat, getDefaultPropertyInclusion, getFilterProvider, getLocale, getSerializationView, getTimeZone, getTypeFactory, getUnknownTypeSerializer, handlePrimaryContextualization, handleSecondaryContextualization, hasSerializationFeatures, invalidTypeIdException, 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, constructSpecializedType, 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 Detail

      • ROOT_NAME_FOR_NULL

        protected static final javax.xml.namespace.QName ROOT_NAME_FOR_NULL
        If all we get to serialize is a null, there's no way to figure out expected root name; so let's just default to something like "<null>"...
    • Constructor Detail

      • XmlSerializerProvider

        public XmlSerializerProvider​(XmlRootNameLookup rootNames)
      • XmlSerializerProvider

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

      • copy

        public com.fasterxml.jackson.databind.ser.DefaultSerializerProvider copy()
        Overrides:
        copy 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,
                                   java.lang.Object value)
                            throws java.io.IOException
        Overrides:
        serializeValue in class com.fasterxml.jackson.databind.ser.DefaultSerializerProvider
        Throws:
        java.io.IOException
      • serializeValue

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

        protected void _serializeXmlNull​(com.fasterxml.jackson.core.JsonGenerator jgen)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _startRootArray

        protected void _startRootArray​(ToXmlGenerator xgen,
                                       javax.xml.namespace.QName rootName)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • _initWithRootName

        protected void _initWithRootName​(ToXmlGenerator xgen,
                                         javax.xml.namespace.QName rootName)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _rootNameFromConfig

        protected javax.xml.namespace.QName _rootNameFromConfig()
      • _asXmlGenerator

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

        protected java.io.IOException _wrapAsIOE​(com.fasterxml.jackson.core.JsonGenerator g,
                                                 java.lang.Exception e)