Class JaxbAnnotationIntrospector

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

public class JaxbAnnotationIntrospector extends com.fasterxml.jackson.databind.AnnotationIntrospector implements com.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions, com.fasterxml.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 (as of 2.4) it should be possible to override this name
See Also:
  • Nested Class Summary

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

    com.fasterxml.jackson.databind.AnnotationIntrospector.ReferenceProperty, com.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final com.fasterxml.jackson.databind.JsonDeserializer<?>
     
    protected final com.fasterxml.jackson.databind.JsonSerializer<?>
     
    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 final com.fasterxml.jackson.databind.type.TypeFactory
     
    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
     
    private static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated.
    Since 2.1, use constructor that takes TypeFactory.
    JaxbAnnotationIntrospector(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config)
     
    JaxbAnnotationIntrospector(com.fasterxml.jackson.databind.type.TypeFactory typeFactory)
     
    JaxbAnnotationIntrospector(com.fasterxml.jackson.databind.type.TypeFactory typeFactory, boolean ignoreXmlIDREF)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static com.fasterxml.jackson.databind.PropertyName
    _combineNames(String localName, String namespace, String defaultName)
     
    protected com.fasterxml.jackson.databind.util.Converter<Object,Object>
    _converter(XmlAdapter<?,?> adapter, boolean forSerialization)
     
    protected String
     
    protected Class<?>
    _doFindDeserializationType(com.fasterxml.jackson.databind.introspect.Annotated a, com.fasterxml.jackson.databind.JavaType baseType)
     
    private final Boolean
    _findAlpha(com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    protected XmlAdapter<?,?>
    _findContentAdapter(com.fasterxml.jackson.databind.introspect.Annotated ann, boolean forSerialization)
     
    protected com.fasterxml.jackson.databind.JavaType
    _fullDeserializationType(com.fasterxml.jackson.databind.introspect.AnnotatedMember am)
     
    protected com.fasterxml.jackson.databind.JavaType
    _fullSerializationType(com.fasterxml.jackson.databind.introspect.AnnotatedMember am)
     
    protected Class<?>
    _getTypeFromXmlElement(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    protected String
    _okNameForGetter(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)
     
    protected String
    _okNameForMutator(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)
     
    protected String
    _propertyNameToString(com.fasterxml.jackson.databind.PropertyName n)
     
    protected Class<?>
    _rawDeserializationType(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    protected Class<?>
    _rawSerializationType(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    (package private) com.fasterxml.jackson.annotation.JsonInclude.Include
    _serializationInclusion(com.fasterxml.jackson.databind.introspect.Annotated a, com.fasterxml.jackson.annotation.JsonInclude.Include defValue)
     
    protected String
    _stdManglePropertyName(String basename, int offset)
     
    protected com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>
    _typeResolverFromXmlElements(com.fasterxml.jackson.databind.introspect.AnnotatedMember am)
     
    private boolean
    adapterTypeMatches(XmlAdapter<?,?> adapter, Class<?> targetType)
     
    private final XmlAdapter<Object,Object>
    checkAdapter(XmlJavaTypeAdapter adapterInfo, Class<?> typeNeeded, boolean forSerialization)
     
    protected XmlAccessType
    findAccessType(com.fasterxml.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).
    findAdapter(com.fasterxml.jackson.databind.introspect.Annotated am, boolean forSerialization, Class<?> type)
    Finds the XmlAdapter for the specified annotation.
    private Class<?>
     
    findAdapterForClass(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, boolean forSerialization)
     
    private <A extends Annotation>
    A
    findAnnotation(Class<A> annotationClass, com.fasterxml.jackson.databind.introspect.Annotated annotated, boolean includePackage, boolean includeClass, boolean includeSuperclasses)
    Finds an annotation associated with given annotatable thing; or if not found, a default annotation it may have (from super class, package and so on)
    com.fasterxml.jackson.databind.introspect.VisibilityChecker<?>
    findAutoDetectVisibility(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, com.fasterxml.jackson.databind.introspect.VisibilityChecker<?> checker)
     
    findContentDeserializer(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    findContentSerializer(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    findDeserializationContentConverter(com.fasterxml.jackson.databind.introspect.AnnotatedMember a)
     
    findDeserializationConverter(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    findDeserializer(com.fasterxml.jackson.databind.introspect.Annotated am)
     
    findEnumValues(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass annotatedClass, Enum<?>[] enumValues, String[] names)
     
    findEnumValues(Class<?> enumType, Enum<?>[] enumValues, String[] names)
    Deprecated.
    com.fasterxml.jackson.annotation.JsonFormat.Value
    findFormat(com.fasterxml.jackson.databind.introspect.Annotated m)
     
    findImplicitPropertyName(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
     
    private com.fasterxml.jackson.databind.PropertyName
    findJaxbPropertyName(com.fasterxml.jackson.databind.introspect.Annotated ae, Class<?> aeType, String defaultName)
     
    findKeyDeserializer(com.fasterxml.jackson.databind.introspect.Annotated am)
     
    com.fasterxml.jackson.databind.PropertyName
    findNameForDeserialization(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    com.fasterxml.jackson.databind.PropertyName
    findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    findNamespace(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    com.fasterxml.jackson.databind.introspect.ObjectIdInfo
    findObjectIdInfo(com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    com.fasterxml.jackson.databind.introspect.ObjectIdInfo
    findObjectReferenceInfo(com.fasterxml.jackson.databind.introspect.Annotated ann, com.fasterxml.jackson.databind.introspect.ObjectIdInfo base)
     
    com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>
    findPropertyContentTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMember am, com.fasterxml.jackson.databind.JavaType containerType)
     
    com.fasterxml.jackson.annotation.JsonInclude.Value
    findPropertyInclusion(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>
    findPropertyTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMember am, com.fasterxml.jackson.databind.JavaType baseType)
     
    findRootElementAnnotation(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
     
    com.fasterxml.jackson.databind.PropertyName
    findRootName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
     
    findSerializationContentConverter(com.fasterxml.jackson.databind.introspect.AnnotatedMember a)
     
    findSerializationConverter(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    findSerializationPropertyOrder(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
     
    findSerializationSortAlphabetically(com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    com.fasterxml.jackson.databind.JsonSerializer<?>
    findSerializer(com.fasterxml.jackson.databind.introspect.Annotated am)
     
    List<com.fasterxml.jackson.databind.jsontype.NamedType>
    findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated a)
     
    findTypeName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
     
    com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>
    findTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, com.fasterxml.jackson.databind.JavaType baseType)
     
    com.fasterxml.jackson.databind.PropertyName
    findWrapperName(com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    Accessor for getting currently configured placeholder named used for property annotated with XmlValue.
    com.fasterxml.jackson.annotation.JsonInclude.Include
     
    protected final com.fasterxml.jackson.databind.type.TypeFactory
     
    boolean
    hasAsValueAnnotation(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)
    Deprecated.
    boolean
    hasIgnoreMarker(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
     
    hasRequiredMarker(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
     
    private boolean
    Helper method used to distinguish structured types (arrays, Lists, Maps), which with JAXB use different rules for defining content types.
    private boolean
    Determines whether the type is assignable to class javax.activation.DataHandler without requiring that class to be on the classpath.
    isIgnorableType(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
     
    protected boolean
    An annotation is handled if it's in the same package as @XmlElement, including subpackages.
    isOutputAsAttribute(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.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(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    isOutputAsText(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann)
     
    private boolean
    isVisible(com.fasterxml.jackson.databind.introspect.AnnotatedField f)
    Whether the specified field is invisible, per the JAXB visibility rules.
    private boolean
    isVisible(com.fasterxml.jackson.databind.introspect.AnnotatedMethod m)
     
    com.fasterxml.jackson.databind.JavaType
    refineDeserializationType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated a, com.fasterxml.jackson.databind.JavaType baseType)
     
    com.fasterxml.jackson.databind.JavaType
    refineSerializationType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated a, com.fasterxml.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.
    com.fasterxml.jackson.core.Version
    Method that will return version information stored in and read from jar that contains this class.

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

    _findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findAndAddVirtualProperties, findClassDescription, findCreatorAnnotation, findCreatorBinding, findDefaultEnumValue, findDefaultEnumValue, findEnumAliases, findEnumAliases, findEnumNamingStrategy, findEnumValue, findFilterId, findInjectableValue, findInjectableValueId, findKeySerializer, findMergeInfo, findNamingStrategy, findNullSerializer, findPOJOBuilder, findPOJOBuilderConfig, findPolymorphicTypeInfo, findPropertyAccess, findPropertyAliases, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnoralByName, findPropertyIgnorals, findPropertyInclusionByName, findPropertyIndex, findReferenceType, findRenameByField, findSerializationTyping, findSetterInfo, findUnwrappingNameTransformer, findValueInstantiator, findViews, hasAnyGetter, hasAnyGetterAnnotation, hasAnySetter, hasAnySetterAnnotation, hasAsKey, hasAsValue, hasCreatorAnnotation, 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

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • 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 com.fasterxml.jackson.databind.JsonSerializer<?> _dataHandlerSerializer
    • _dataHandlerDeserializer

      protected final com.fasterxml.jackson.databind.JsonDeserializer<?> _dataHandlerDeserializer
    • _typeFactory

      protected final com.fasterxml.jackson.databind.type.TypeFactory _typeFactory
    • _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.
      Since:
      2.7
  • Constructor Details

    • JaxbAnnotationIntrospector

      @Deprecated public JaxbAnnotationIntrospector()
      Deprecated.
      Since 2.1, use constructor that takes TypeFactory.
    • JaxbAnnotationIntrospector

      public JaxbAnnotationIntrospector(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config)
    • JaxbAnnotationIntrospector

      public JaxbAnnotationIntrospector(com.fasterxml.jackson.databind.type.TypeFactory typeFactory)
    • JaxbAnnotationIntrospector

      public JaxbAnnotationIntrospector(com.fasterxml.jackson.databind.type.TypeFactory typeFactory, boolean ignoreXmlIDREF)
      Parameters:
      typeFactory - Type factory used for resolving type information
      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 com.fasterxml.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 com.fasterxml.jackson.core.Versioned
      Specified by:
      version in class com.fasterxml.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.
      Since:
      2.7
    • getNonNillableInclusion

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

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

      public Boolean isOutputAsAttribute(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.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 com.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions
    • isOutputAsText

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

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

      public com.fasterxml.jackson.databind.introspect.ObjectIdInfo findObjectIdInfo(com.fasterxml.jackson.databind.introspect.Annotated ann)
      Overrides:
      findObjectIdInfo in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findObjectReferenceInfo

      public com.fasterxml.jackson.databind.introspect.ObjectIdInfo findObjectReferenceInfo(com.fasterxml.jackson.databind.introspect.Annotated ann, com.fasterxml.jackson.databind.introspect.ObjectIdInfo base)
      Overrides:
      findObjectReferenceInfo in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findRootName

      public com.fasterxml.jackson.databind.PropertyName findRootName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      findRootName in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • isIgnorableType

      public Boolean isIgnorableType(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      isIgnorableType in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • hasIgnoreMarker

      public boolean hasIgnoreMarker(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
      Overrides:
      hasIgnoreMarker in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • hasRequiredMarker

      public Boolean hasRequiredMarker(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
      Overrides:
      hasRequiredMarker in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findWrapperName

      public com.fasterxml.jackson.databind.PropertyName findWrapperName(com.fasterxml.jackson.databind.introspect.Annotated ann)
      Overrides:
      findWrapperName in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findImplicitPropertyName

      public String findImplicitPropertyName(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
      Overrides:
      findImplicitPropertyName in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findFormat

      public com.fasterxml.jackson.annotation.JsonFormat.Value findFormat(com.fasterxml.jackson.databind.introspect.Annotated m)
      Overrides:
      findFormat in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findAutoDetectVisibility

      public com.fasterxml.jackson.databind.introspect.VisibilityChecker<?> findAutoDetectVisibility(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, com.fasterxml.jackson.databind.introspect.VisibilityChecker<?> checker)
      Overrides:
      findAutoDetectVisibility in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findAccessType

      protected XmlAccessType findAccessType(com.fasterxml.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.
    • findTypeResolver

      public com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> findTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, com.fasterxml.jackson.databind.JavaType baseType)
      Overrides:
      findTypeResolver in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findPropertyTypeResolver

      public com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> findPropertyTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMember am, com.fasterxml.jackson.databind.JavaType baseType)
      Overrides:
      findPropertyTypeResolver in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findPropertyContentTypeResolver

      public com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> findPropertyContentTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMember am, com.fasterxml.jackson.databind.JavaType containerType)
      Overrides:
      findPropertyContentTypeResolver in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • _typeResolverFromXmlElements

      protected com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> _typeResolverFromXmlElements(com.fasterxml.jackson.databind.introspect.AnnotatedMember am)
    • findSubtypes

      public List<com.fasterxml.jackson.databind.jsontype.NamedType> findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findSubtypes in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findTypeName

      public String findTypeName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      findTypeName in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findSerializer

      public com.fasterxml.jackson.databind.JsonSerializer<?> findSerializer(com.fasterxml.jackson.databind.introspect.Annotated am)
      Overrides:
      findSerializer in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • isDataHandler

      private boolean isDataHandler(Class<?> type)
      Determines whether the type is assignable to class javax.activation.DataHandler without requiring that class to be on the classpath.
      Parameters:
      type - The type.
      Returns:
      Whether the type is assignable to class javax.activation.DataHandler
    • findContentSerializer

      public Object findContentSerializer(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findContentSerializer in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findPropertyInclusion

      public com.fasterxml.jackson.annotation.JsonInclude.Value findPropertyInclusion(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findPropertyInclusion in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • _serializationInclusion

      com.fasterxml.jackson.annotation.JsonInclude.Include _serializationInclusion(com.fasterxml.jackson.databind.introspect.Annotated a, com.fasterxml.jackson.annotation.JsonInclude.Include defValue)
    • refineSerializationType

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

      public String[] findSerializationPropertyOrder(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
      Overrides:
      findSerializationPropertyOrder in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findSerializationSortAlphabetically

      public Boolean findSerializationSortAlphabetically(com.fasterxml.jackson.databind.introspect.Annotated ann)
      Overrides:
      findSerializationSortAlphabetically in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • _findAlpha

      private final Boolean _findAlpha(com.fasterxml.jackson.databind.introspect.Annotated ann)
    • findSerializationConverter

      public Object findSerializationConverter(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findSerializationConverter in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findSerializationContentConverter

      public Object findSerializationContentConverter(com.fasterxml.jackson.databind.introspect.AnnotatedMember a)
      Overrides:
      findSerializationContentConverter in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findNameForSerialization

      public com.fasterxml.jackson.databind.PropertyName findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findNameForSerialization in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • hasAsValueAnnotation

      @Deprecated public boolean hasAsValueAnnotation(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)
      Deprecated.
      Overrides:
      hasAsValueAnnotation in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findEnumValues

      @Deprecated public String[] findEnumValues(Class<?> enumType, Enum<?>[] enumValues, String[] names)
      Deprecated.
      Overrides:
      findEnumValues in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findEnumValues

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

      public Object findDeserializer(com.fasterxml.jackson.databind.introspect.Annotated am)
      Overrides:
      findDeserializer in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findKeyDeserializer

      public Object findKeyDeserializer(com.fasterxml.jackson.databind.introspect.Annotated am)
      Overrides:
      findKeyDeserializer in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findContentDeserializer

      public Object findContentDeserializer(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findContentDeserializer in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • _doFindDeserializationType

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

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

      public com.fasterxml.jackson.databind.PropertyName findNameForDeserialization(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findNameForDeserialization in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findDeserializationConverter

      public Object findDeserializationConverter(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides:
      findDeserializationConverter in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • findDeserializationContentConverter

      public Object findDeserializationContentConverter(com.fasterxml.jackson.databind.introspect.AnnotatedMember a)
      Overrides:
      findDeserializationContentConverter in class com.fasterxml.jackson.databind.AnnotationIntrospector
    • isVisible

      private boolean isVisible(com.fasterxml.jackson.databind.introspect.AnnotatedField f)
      Whether the specified field is invisible, per the JAXB visibility rules.
      Parameters:
      f - The field.
      Returns:
      Whether the field is invisible.
    • isVisible

      private boolean isVisible(com.fasterxml.jackson.databind.introspect.AnnotatedMethod m)
    • findAnnotation

      private <A extends Annotation> A findAnnotation(Class<A> annotationClass, com.fasterxml.jackson.databind.introspect.Annotated annotated, boolean includePackage, boolean includeClass, boolean includeSuperclasses)
      Finds an annotation associated with given annotatable thing; or if not found, a default annotation it may have (from super class, package and so on)
      Parameters:
      annotationClass - the annotation class.
      annotated - The annotated element.
      includePackage - Whether the annotation can be found on the package of the annotated element.
      includeClass - Whether the annotation can be found on the class of the annotated element.
      includeSuperclasses - Whether the annotation can be found on any superclasses of the class of the annotated element.
      Returns:
      The annotation, or null if not found.
    • 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.
    • findJaxbPropertyName

      private com.fasterxml.jackson.databind.PropertyName findJaxbPropertyName(com.fasterxml.jackson.databind.introspect.Annotated ae, Class<?> aeType, String defaultName)
    • _combineNames

      private static com.fasterxml.jackson.databind.PropertyName _combineNames(String localName, String namespace, String defaultName)
    • findRootElementAnnotation

      private XmlRootElement findRootElementAnnotation(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
    • findAdapter

      private XmlAdapter<Object,Object> findAdapter(com.fasterxml.jackson.databind.introspect.Annotated am, boolean forSerialization, Class<?> type)
      Finds the XmlAdapter for the specified annotation.
      Parameters:
      am - The annotated element.
      forSerialization - If true, adapter for serialization; if false, for deserialization
      type -
      Returns:
      The adapter, or null if none.
    • checkAdapter

      private final XmlAdapter<Object,Object> checkAdapter(XmlJavaTypeAdapter adapterInfo, Class<?> typeNeeded, boolean forSerialization)
    • findAdapterForClass

      private XmlAdapter<Object,Object> findAdapterForClass(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, boolean forSerialization)
    • getTypeFactory

      protected final com.fasterxml.jackson.databind.type.TypeFactory getTypeFactory()
    • isContainerType

      private boolean isContainerType(Class<?> raw)
      Helper method used to distinguish structured types (arrays, Lists, Maps), which with JAXB use different rules for defining content types.
    • adapterTypeMatches

      private boolean adapterTypeMatches(XmlAdapter<?,?> adapter, Class<?> targetType)
    • findAdapterBoundType

      private Class<?> findAdapterBoundType(XmlAdapter<?,?> adapter)
    • _findContentAdapter

      protected XmlAdapter<?,?> _findContentAdapter(com.fasterxml.jackson.databind.introspect.Annotated ann, boolean forSerialization)
    • _propertyNameToString

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

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

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

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

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

      protected com.fasterxml.jackson.databind.util.Converter<Object,Object> _converter(XmlAdapter<?,?> adapter, boolean forSerialization)
    • _getTypeFromXmlElement

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

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

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

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

      protected String _decapitalize(String name)