Class JaxbAnnotationIntrospector

java.lang.Object
tools.jackson.databind.AnnotationIntrospector
tools.jackson.module.jaxb.JaxbAnnotationIntrospector
All Implemented Interfaces:
Serializable, tools.jackson.core.Versioned, tools.jackson.databind.AnnotationIntrospector.XmlExtensions

public class JaxbAnnotationIntrospector extends tools.jackson.databind.AnnotationIntrospector implements tools.jackson.databind.AnnotationIntrospector.XmlExtensions, tools.jackson.core.Versioned
Annotation introspector that leverages JAXB annotations where applicable to JSON mapping. As of Jackson 2.0, most JAXB annotations are supported at least to some degree. Ones that are NOT yet supported are:
  • XmlAnyAttribute not supported; possible (if unlikely) to be used (as an alias for @JsonAnySetter)
  • XmlAnyElement not supported; unlikely to ever be supported.
  • XmlAttachmentRef: JSON does not support external attachments
  • XmlElementDecl
  • XmlElementRefs because Jackson doesn't have any support for 'named' collection items; some parts could theoretically be supported
  • XmlInlineBinaryData since the underlying concepts (like XOP) do not exist in JSON -- Jackson will always use inline base64 encoding as the method
  • XmlList because JSON does not have (or necessarily need) method of serializing list of values as space-separated Strings
  • XmlMimeType
  • XmlMixed since JSON has no concept of mixed content
  • XmlRegistry not supported, unlikely to ever be.
  • XmlSchema not supported, unlikely to ever be.
  • XmlSchemaType not supported, unlikely to ever be.
  • XmlSchemaTypes not supported, unlikely to ever be.
  • XmlSeeAlso not supported.
Note also the following limitations:
  • Any property annotated with XmlValue will have implicit property named 'value' on its JSON object; although it should be possible to override this name
Author:
Ryan Heaton, Tatu Saloranta
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class tools.jackson.databind.AnnotationIntrospector

    tools.jackson.databind.AnnotationIntrospector.ReferenceProperty, tools.jackson.databind.AnnotationIntrospector.XmlExtensions
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final tools.jackson.databind.ValueDeserializer<?>
     
    protected final tools.jackson.databind.ValueSerializer<?>
     
    protected final boolean
     
    protected final String
     
    protected com.fasterxml.jackson.annotation.JsonInclude.Include
    Inclusion value to return for properties annotated with XmlElement and XmlElementWrapper, in case nillable property is left as false.
    protected String
    When using XmlValue annotation, a placeholder name is assigned to property (unless overridden by explicit name); this configuration value specified what that name is.
    protected static final boolean
     
    protected static final String
     
    protected static final com.fasterxml.jackson.annotation.JsonFormat.Value
     
    protected static final com.fasterxml.jackson.annotation.JsonFormat.Value
     
    protected static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    JaxbAnnotationIntrospector(boolean ignoreXmlIDREF)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected tools.jackson.databind.util.Converter<Object,Object>
    _converter(tools.jackson.databind.cfg.MapperConfig<?> config, javax.xml.bind.annotation.adapters.XmlAdapter<?,?> adapter, boolean forSerialization)
     
    protected String
     
    protected Class<?>
    _doFindDeserializationType(tools.jackson.databind.introspect.Annotated a, tools.jackson.databind.JavaType baseType)
     
    protected javax.xml.bind.annotation.adapters.XmlAdapter<?,?>
    _findContentAdapter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann, boolean forSerialization)
     
    protected tools.jackson.databind.JavaType
    _fullDeserializationType(tools.jackson.databind.introspect.AnnotatedMember am)
     
    protected tools.jackson.databind.JavaType
    _fullSerializationType(tools.jackson.databind.introspect.AnnotatedMember am)
     
    protected Class<?>
    _getTypeFromXmlElement(tools.jackson.databind.introspect.Annotated a)
     
    protected String
    _okNameForGetter(tools.jackson.databind.introspect.AnnotatedMethod am)
     
    protected String
    _okNameForMutator(tools.jackson.databind.introspect.AnnotatedMethod am)
     
    protected String
    _propertyNameToString(tools.jackson.databind.PropertyName n)
     
    protected Class<?>
    _rawDeserializationType(tools.jackson.databind.introspect.Annotated a)
     
    protected Class<?>
    _rawSerializationType(tools.jackson.databind.introspect.Annotated a)
     
    protected String
    _stdManglePropertyName(String basename, int offset)
     
    protected javax.xml.bind.annotation.XmlAccessType
    findAccessType(tools.jackson.databind.introspect.Annotated ac)
    Method for locating JAXB XmlAccessType annotation value for given annotated entity, if it has one, or inherits one from its ancestors (in JAXB sense, package etc).
    tools.jackson.databind.introspect.VisibilityChecker
    findAutoDetectVisibility(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac, tools.jackson.databind.introspect.VisibilityChecker checker)
     
    findContentDeserializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    findContentSerializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    findDeserializationContentConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember a)
     
    findDeserializationConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    findDeserializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated am)
     
    findEnumValues(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass annotatedClass, Enum<?>[] enumValues, String[] names)
     
    com.fasterxml.jackson.annotation.JsonFormat.Value
    findFormat(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated m)
     
    findImplicitPropertyName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember m)
     
    findKeyDeserializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated am)
     
    tools.jackson.databind.PropertyName
    findNameForDeserialization(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    tools.jackson.databind.PropertyName
    findNameForSerialization(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    findNamespace(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    tools.jackson.databind.introspect.ObjectIdInfo
    findObjectIdInfo(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    tools.jackson.databind.introspect.ObjectIdInfo
    findObjectReferenceInfo(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann, tools.jackson.databind.introspect.ObjectIdInfo base)
     
    com.fasterxml.jackson.annotation.JsonTypeInfo.Value
    findPolymorphicTypeInfo(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    com.fasterxml.jackson.annotation.JsonInclude.Value
    findPropertyInclusion(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    tools.jackson.databind.PropertyName
    findRootName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
     
    findSerializationContentConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember a)
     
    findSerializationConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    findSerializationPropertyOrder(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
     
    findSerializationSortAlphabetically(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    tools.jackson.databind.ValueSerializer<?>
    findSerializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated am)
     
    List<tools.jackson.databind.jsontype.NamedType>
    findSubtypes(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
     
    findTypeName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
     
    tools.jackson.databind.PropertyName
    findWrapperName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    Accessor for getting currently configured placeholder named used for property annotated with XmlValue.
    com.fasterxml.jackson.annotation.JsonInclude.Include
     
    boolean
    hasIgnoreMarker(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember m)
     
    hasRequiredMarker(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember m)
     
    isIgnorableType(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
     
    protected boolean
    An annotation is handled if it's in the same package as @XmlElement, including subpackages.
    isOutputAsAttribute(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
    Here we assume fairly simple logic; if there is XmlAttribute to be found, we consider it an attribute; if XmlElement, not-an-attribute; and otherwise we will consider there to be no information.
    isOutputAsCData(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    isOutputAsText(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
     
    tools.jackson.databind.JavaType
    refineDeserializationType(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a, tools.jackson.databind.JavaType baseType)
     
    tools.jackson.databind.JavaType
    refineSerializationType(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a, tools.jackson.databind.JavaType baseType)
     
    void
    Configuration method that can be used to change default name ("value") used for properties annotated with XmlValue; note that setting it to null will actually avoid name override, and name will instead be derived from underlying method name using standard bean name introspection.
    setNonNillableInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include incl)
    Method to call to change inclusion criteria used for property annotated with XmlElement or XmlElementWrapper, with nillable set as false.
    tools.jackson.core.Version
    Method that will return version information stored in and read from jar that contains this class.

    Methods inherited from class tools.jackson.databind.AnnotationIntrospector

    _findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findAndAddVirtualProperties, findBuilderPrefix, findClassDescription, findCreatorAnnotation, findDefaultEnumValue, findEnumAliases, findEnumNamingStrategy, findFilterId, findInjectableValue, findKeySerializer, findMergeInfo, findNamingStrategy, findNullSerializer, findPOJOBuilder, findPOJOBuilderConfig, findPreferredCreator, findPropertyAccess, findPropertyAliases, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnoralByName, findPropertyInclusionByName, findPropertyIndex, findReferenceType, findRenameByField, findSerializationTyping, findSetterInfo, findTypeIdResolver, findTypeResolverBuilder, findUnwrappingNameTransformer, findValueInstantiator, findViews, hasAnyGetter, hasAnySetter, hasAsKey, hasAsValue, isAnnotationBundle, isTypeId, nopInstance, pair, resolveSetterConflict

    Methods inherited from class java.lang.Object

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

    • DEFAULT_NAME_FOR_XML_VALUE

      protected static final String DEFAULT_NAME_FOR_XML_VALUE
      See Also:
    • DEFAULT_IGNORE_XMLIDREF

      protected static final boolean DEFAULT_IGNORE_XMLIDREF
      See Also:
    • MARKER_FOR_DEFAULT

      protected static final String MARKER_FOR_DEFAULT
      See Also:
    • FORMAT_STRING

      protected static final com.fasterxml.jackson.annotation.JsonFormat.Value FORMAT_STRING
    • FORMAT_INT

      protected static final com.fasterxml.jackson.annotation.JsonFormat.Value FORMAT_INT
    • _jaxbPackageName

      protected final String _jaxbPackageName
    • _dataHandlerSerializer

      protected final tools.jackson.databind.ValueSerializer<?> _dataHandlerSerializer
    • _dataHandlerDeserializer

      protected final tools.jackson.databind.ValueDeserializer<?> _dataHandlerDeserializer
    • _ignoreXmlIDREF

      protected final boolean _ignoreXmlIDREF
    • _xmlValueName

      protected String _xmlValueName
      When using XmlValue annotation, a placeholder name is assigned to property (unless overridden by explicit name); this configuration value specified what that name is.
    • _nonNillableInclusion

      protected com.fasterxml.jackson.annotation.JsonInclude.Include _nonNillableInclusion
      Inclusion value to return for properties annotated with XmlElement and XmlElementWrapper, in case nillable property is left as false. Default setting is null; this is typically changed to either JsonInclude.Include.NON_NULL or JsonInclude.Include.NON_EMPTY.
  • Constructor Details

    • JaxbAnnotationIntrospector

      public JaxbAnnotationIntrospector()
    • JaxbAnnotationIntrospector

      public JaxbAnnotationIntrospector(boolean ignoreXmlIDREF)
      Parameters:
      ignoreXmlIDREF - Whether XmlIDREF annotation should be processed JAXB style (meaning that references are always serialized using id), or not (first reference as full POJO, others as ids)
  • Method Details

    • version

      public tools.jackson.core.Version version()
      Method that will return version information stored in and read from jar that contains this class.
      Specified by:
      version in interface tools.jackson.core.Versioned
      Specified by:
      version in class tools.jackson.databind.AnnotationIntrospector
    • setNameUsedForXmlValue

      public void setNameUsedForXmlValue(String name)
      Configuration method that can be used to change default name ("value") used for properties annotated with XmlValue; note that setting it to null will actually avoid name override, and name will instead be derived from underlying method name using standard bean name introspection.
      Since:
      2.5
    • getNameUsedForXmlValue

      public String getNameUsedForXmlValue()
      Accessor for getting currently configured placeholder named used for property annotated with XmlValue.
    • setNonNillableInclusion

      public JaxbAnnotationIntrospector setNonNillableInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include incl)
      Method to call to change inclusion criteria used for property annotated with XmlElement or XmlElementWrapper, with nillable set as false.
    • getNonNillableInclusion

      public com.fasterxml.jackson.annotation.JsonInclude.Include getNonNillableInclusion()
    • findNamespace

      public String findNamespace(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Specified by:
      findNamespace in interface tools.jackson.databind.AnnotationIntrospector.XmlExtensions
    • isOutputAsAttribute

      public Boolean isOutputAsAttribute(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Here we assume fairly simple logic; if there is XmlAttribute to be found, we consider it an attribute; if XmlElement, not-an-attribute; and otherwise we will consider there to be no information. Caller is likely to default to considering things as elements.
      Specified by:
      isOutputAsAttribute in interface tools.jackson.databind.AnnotationIntrospector.XmlExtensions
    • isOutputAsText

      public Boolean isOutputAsText(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Specified by:
      isOutputAsText in interface tools.jackson.databind.AnnotationIntrospector.XmlExtensions
    • isOutputAsCData

      public Boolean isOutputAsCData(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Specified by:
      isOutputAsCData in interface tools.jackson.databind.AnnotationIntrospector.XmlExtensions
    • findObjectIdInfo

      public tools.jackson.databind.introspect.ObjectIdInfo findObjectIdInfo(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Overrides:
      findObjectIdInfo in class tools.jackson.databind.AnnotationIntrospector
    • findObjectReferenceInfo

      public tools.jackson.databind.introspect.ObjectIdInfo findObjectReferenceInfo(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann, tools.jackson.databind.introspect.ObjectIdInfo base)
      Overrides:
      findObjectReferenceInfo in class tools.jackson.databind.AnnotationIntrospector
    • findRootName

      public tools.jackson.databind.PropertyName findRootName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      findRootName in class tools.jackson.databind.AnnotationIntrospector
    • isIgnorableType

      public Boolean isIgnorableType(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      isIgnorableType in class tools.jackson.databind.AnnotationIntrospector
    • hasIgnoreMarker

      public boolean hasIgnoreMarker(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember m)
      Overrides:
      hasIgnoreMarker in class tools.jackson.databind.AnnotationIntrospector
    • hasRequiredMarker

      public Boolean hasRequiredMarker(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember m)
      Overrides:
      hasRequiredMarker in class tools.jackson.databind.AnnotationIntrospector
    • findWrapperName

      public tools.jackson.databind.PropertyName findWrapperName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Overrides:
      findWrapperName in class tools.jackson.databind.AnnotationIntrospector
    • findImplicitPropertyName

      public String findImplicitPropertyName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember m)
      Overrides:
      findImplicitPropertyName in class tools.jackson.databind.AnnotationIntrospector
    • findFormat

      public com.fasterxml.jackson.annotation.JsonFormat.Value findFormat(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated m)
      Overrides:
      findFormat in class tools.jackson.databind.AnnotationIntrospector
    • findAutoDetectVisibility

      public tools.jackson.databind.introspect.VisibilityChecker findAutoDetectVisibility(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac, tools.jackson.databind.introspect.VisibilityChecker checker)
      Overrides:
      findAutoDetectVisibility in class tools.jackson.databind.AnnotationIntrospector
    • findAccessType

      protected javax.xml.bind.annotation.XmlAccessType findAccessType(tools.jackson.databind.introspect.Annotated ac)
      Method for locating JAXB XmlAccessType annotation value for given annotated entity, if it has one, or inherits one from its ancestors (in JAXB sense, package etc). Returns null if nothing has been explicitly defined.
    • findPolymorphicTypeInfo

      public com.fasterxml.jackson.annotation.JsonTypeInfo.Value findPolymorphicTypeInfo(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Overrides:
      findPolymorphicTypeInfo in class tools.jackson.databind.AnnotationIntrospector
    • findSubtypes

      public List<tools.jackson.databind.jsontype.NamedType> findSubtypes(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findSubtypes in class tools.jackson.databind.AnnotationIntrospector
    • findTypeName

      public String findTypeName(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      findTypeName in class tools.jackson.databind.AnnotationIntrospector
    • findSerializer

      public tools.jackson.databind.ValueSerializer<?> findSerializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated am)
      Overrides:
      findSerializer in class tools.jackson.databind.AnnotationIntrospector
    • findContentSerializer

      public Object findContentSerializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findContentSerializer in class tools.jackson.databind.AnnotationIntrospector
    • findPropertyInclusion

      public com.fasterxml.jackson.annotation.JsonInclude.Value findPropertyInclusion(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findPropertyInclusion in class tools.jackson.databind.AnnotationIntrospector
    • refineSerializationType

      public tools.jackson.databind.JavaType refineSerializationType(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a, tools.jackson.databind.JavaType baseType)
      Overrides:
      refineSerializationType in class tools.jackson.databind.AnnotationIntrospector
    • findSerializationPropertyOrder

      public String[] findSerializationPropertyOrder(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      findSerializationPropertyOrder in class tools.jackson.databind.AnnotationIntrospector
    • findSerializationSortAlphabetically

      public Boolean findSerializationSortAlphabetically(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann)
      Overrides:
      findSerializationSortAlphabetically in class tools.jackson.databind.AnnotationIntrospector
    • findSerializationConverter

      public Object findSerializationConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findSerializationConverter in class tools.jackson.databind.AnnotationIntrospector
    • findSerializationContentConverter

      public Object findSerializationContentConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember a)
      Overrides:
      findSerializationContentConverter in class tools.jackson.databind.AnnotationIntrospector
    • findNameForSerialization

      public tools.jackson.databind.PropertyName findNameForSerialization(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findNameForSerialization in class tools.jackson.databind.AnnotationIntrospector
    • findEnumValues

      public String[] findEnumValues(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedClass annotatedClass, Enum<?>[] enumValues, String[] names)
      Overrides:
      findEnumValues in class tools.jackson.databind.AnnotationIntrospector
      Since:
      2.16
      See Also:
      • JacksonAnnotationIntrospector.findEnumValues(MapperConfig, AnnotatedClass, Enum[], String[])
    • findDeserializer

      public Object findDeserializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated am)
      Overrides:
      findDeserializer in class tools.jackson.databind.AnnotationIntrospector
    • findKeyDeserializer

      public Object findKeyDeserializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated am)
      Overrides:
      findKeyDeserializer in class tools.jackson.databind.AnnotationIntrospector
    • findContentDeserializer

      public Object findContentDeserializer(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findContentDeserializer in class tools.jackson.databind.AnnotationIntrospector
    • _doFindDeserializationType

      protected Class<?> _doFindDeserializationType(tools.jackson.databind.introspect.Annotated a, tools.jackson.databind.JavaType baseType)
    • refineDeserializationType

      public tools.jackson.databind.JavaType refineDeserializationType(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a, tools.jackson.databind.JavaType baseType)
      Overrides:
      refineDeserializationType in class tools.jackson.databind.AnnotationIntrospector
    • findNameForDeserialization

      public tools.jackson.databind.PropertyName findNameForDeserialization(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findNameForDeserialization in class tools.jackson.databind.AnnotationIntrospector
    • findDeserializationConverter

      public Object findDeserializationConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated a)
      Overrides:
      findDeserializationConverter in class tools.jackson.databind.AnnotationIntrospector
    • findDeserializationContentConverter

      public Object findDeserializationContentConverter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.AnnotatedMember a)
      Overrides:
      findDeserializationContentConverter in class tools.jackson.databind.AnnotationIntrospector
    • isJAXBAnnotation

      protected boolean isJAXBAnnotation(Annotation ann)
      An annotation is handled if it's in the same package as @XmlElement, including subpackages.
      Parameters:
      ann - The annotation.
      Returns:
      Whether the annotation is in the JAXB package.
    • _findContentAdapter

      protected javax.xml.bind.annotation.adapters.XmlAdapter<?,?> _findContentAdapter(tools.jackson.databind.cfg.MapperConfig<?> config, tools.jackson.databind.introspect.Annotated ann, boolean forSerialization)
    • _propertyNameToString

      protected String _propertyNameToString(tools.jackson.databind.PropertyName n)
    • _rawDeserializationType

      protected Class<?> _rawDeserializationType(tools.jackson.databind.introspect.Annotated a)
    • _fullDeserializationType

      protected tools.jackson.databind.JavaType _fullDeserializationType(tools.jackson.databind.introspect.AnnotatedMember am)
    • _rawSerializationType

      protected Class<?> _rawSerializationType(tools.jackson.databind.introspect.Annotated a)
    • _fullSerializationType

      protected tools.jackson.databind.JavaType _fullSerializationType(tools.jackson.databind.introspect.AnnotatedMember am)
    • _converter

      protected tools.jackson.databind.util.Converter<Object,Object> _converter(tools.jackson.databind.cfg.MapperConfig<?> config, javax.xml.bind.annotation.adapters.XmlAdapter<?,?> adapter, boolean forSerialization)
    • _getTypeFromXmlElement

      protected Class<?> _getTypeFromXmlElement(tools.jackson.databind.introspect.Annotated a)
    • _okNameForGetter

      protected String _okNameForGetter(tools.jackson.databind.introspect.AnnotatedMethod am)
    • _okNameForMutator

      protected String _okNameForMutator(tools.jackson.databind.introspect.AnnotatedMethod am)
    • _stdManglePropertyName

      protected String _stdManglePropertyName(String basename, int offset)
    • _decapitalize

      protected String _decapitalize(String name)