Class JaxbAnnotationIntrospector

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, com.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions, java.io.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:
    Serialized Form
    • 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 com.fasterxml.jackson.databind.JsonDeserializer<?> _dataHandlerDeserializer  
      protected com.fasterxml.jackson.databind.JsonSerializer<?> _dataHandlerSerializer  
      protected boolean _ignoreXmlIDREF  
      protected java.lang.String _jaxbPackageName  
      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.
      protected com.fasterxml.jackson.databind.type.TypeFactory _typeFactory  
      protected java.lang.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.
      protected static boolean DEFAULT_IGNORE_XMLIDREF  
      protected static java.lang.String DEFAULT_NAME_FOR_XML_VALUE  
      protected static com.fasterxml.jackson.annotation.JsonFormat.Value FORMAT_INT  
      protected static com.fasterxml.jackson.annotation.JsonFormat.Value FORMAT_STRING  
      protected static java.lang.String MARKER_FOR_DEFAULT  
      private static long serialVersionUID  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      private static com.fasterxml.jackson.databind.PropertyName _combineNames​(java.lang.String localName, java.lang.String namespace, java.lang.String defaultName)  
      protected com.fasterxml.jackson.databind.util.Converter<java.lang.Object,​java.lang.Object> _converter​(javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> adapter, boolean forSerialization)  
      protected java.lang.String _decapitalize​(java.lang.String name)  
      protected java.lang.Class<?> _doFindDeserializationType​(com.fasterxml.jackson.databind.introspect.Annotated a, com.fasterxml.jackson.databind.JavaType baseType)  
      private java.lang.Boolean _findAlpha​(com.fasterxml.jackson.databind.introspect.Annotated ann)  
      protected javax.xml.bind.annotation.adapters.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 java.lang.Class<?> _getTypeFromXmlElement​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      protected java.lang.String _okNameForGetter​(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)  
      protected java.lang.String _okNameForMutator​(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)  
      protected java.lang.String _propertyNameToString​(com.fasterxml.jackson.databind.PropertyName n)  
      protected java.lang.Class<?> _rawDeserializationType​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      protected java.lang.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 java.lang.String _stdManglePropertyName​(java.lang.String basename, int offset)  
      protected com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> _typeResolverFromXmlElements​(com.fasterxml.jackson.databind.introspect.AnnotatedMember am)  
      private boolean adapterTypeMatches​(javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> adapter, java.lang.Class<?> targetType)  
      private javax.xml.bind.annotation.adapters.XmlAdapter<java.lang.Object,​java.lang.Object> checkAdapter​(javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter adapterInfo, java.lang.Class<?> typeNeeded, boolean forSerialization)  
      protected javax.xml.bind.annotation.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).
      private javax.xml.bind.annotation.adapters.XmlAdapter<java.lang.Object,​java.lang.Object> findAdapter​(com.fasterxml.jackson.databind.introspect.Annotated am, boolean forSerialization, java.lang.Class<?> type)
      Finds the XmlAdapter for the specified annotation.
      private java.lang.Class<?> findAdapterBoundType​(javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> adapter)  
      private javax.xml.bind.annotation.adapters.XmlAdapter<java.lang.Object,​java.lang.Object> findAdapterForClass​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, boolean forSerialization)  
      private <A extends java.lang.annotation.Annotation>
      A
      findAnnotation​(java.lang.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)  
      java.lang.Object findContentDeserializer​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      java.lang.Object findContentSerializer​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      java.lang.Object findDeserializationContentConverter​(com.fasterxml.jackson.databind.introspect.AnnotatedMember a)  
      java.lang.Object findDeserializationConverter​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      java.lang.Object findDeserializer​(com.fasterxml.jackson.databind.introspect.Annotated am)  
      java.lang.String[] findEnumValues​(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass annotatedClass, java.lang.Enum<?>[] enumValues, java.lang.String[] names)  
      java.lang.String[] findEnumValues​(java.lang.Class<?> enumType, java.lang.Enum<?>[] enumValues, java.lang.String[] names)
      Deprecated.
      com.fasterxml.jackson.annotation.JsonFormat.Value findFormat​(com.fasterxml.jackson.databind.introspect.Annotated m)  
      java.lang.String findImplicitPropertyName​(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)  
      private com.fasterxml.jackson.databind.PropertyName findJaxbPropertyName​(com.fasterxml.jackson.databind.introspect.Annotated ae, java.lang.Class<?> aeType, java.lang.String defaultName)  
      java.lang.Object 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)  
      java.lang.String 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)  
      private javax.xml.bind.annotation.XmlRootElement findRootElementAnnotation​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)  
      com.fasterxml.jackson.databind.PropertyName findRootName​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)  
      java.lang.Object findSerializationContentConverter​(com.fasterxml.jackson.databind.introspect.AnnotatedMember a)  
      java.lang.Object findSerializationConverter​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      java.lang.String[] findSerializationPropertyOrder​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)  
      java.lang.Boolean findSerializationSortAlphabetically​(com.fasterxml.jackson.databind.introspect.Annotated ann)  
      com.fasterxml.jackson.databind.JsonSerializer<?> findSerializer​(com.fasterxml.jackson.databind.introspect.Annotated am)  
      java.util.List<com.fasterxml.jackson.databind.jsontype.NamedType> findSubtypes​(com.fasterxml.jackson.databind.introspect.Annotated a)  
      java.lang.String 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)  
      java.lang.String getNameUsedForXmlValue()
      Accessor for getting currently configured placeholder named used for property annotated with XmlValue.
      com.fasterxml.jackson.annotation.JsonInclude.Include getNonNillableInclusion()  
      protected com.fasterxml.jackson.databind.type.TypeFactory getTypeFactory()  
      boolean hasAsValueAnnotation​(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am)
      Deprecated.
      boolean hasIgnoreMarker​(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)  
      java.lang.Boolean hasRequiredMarker​(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)  
      private boolean isContainerType​(java.lang.Class<?> raw)
      Helper method used to distinguish structured types (arrays, Lists, Maps), which with JAXB use different rules for defining content types.
      private boolean isDataHandler​(java.lang.Class<?> type)
      Determines whether the type is assignable to class javax.activation.DataHandler without requiring that class to be on the classpath.
      java.lang.Boolean isIgnorableType​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)  
      protected boolean isJAXBAnnotation​(java.lang.annotation.Annotation ann)
      An annotation is handled if it's in the same package as @XmlElement, including subpackages.
      java.lang.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.
      java.lang.Boolean isOutputAsCData​(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann)  
      java.lang.Boolean 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 setNameUsedForXmlValue​(java.lang.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.
      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.
      com.fasterxml.jackson.core.Version 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, findIgnoreUnknownProperties, findInjectableValue, findInjectableValueId, findKeySerializer, findMergeInfo, findNamingStrategy, findNullSerializer, findPOJOBuilder, findPOJOBuilderConfig, findPolymorphicTypeInfo, findPropertiesToIgnore, 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 Detail

      • DEFAULT_NAME_FOR_XML_VALUE

        protected static final java.lang.String DEFAULT_NAME_FOR_XML_VALUE
        See Also:
        Constant Field Values
      • DEFAULT_IGNORE_XMLIDREF

        protected static final boolean DEFAULT_IGNORE_XMLIDREF
        See Also:
        Constant Field Values
      • MARKER_FOR_DEFAULT

        protected static final java.lang.String MARKER_FOR_DEFAULT
        See Also:
        Constant Field Values
      • 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 java.lang.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 java.lang.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 Detail

      • 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 Detail

      • 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​(java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 javax.xml.bind.annotation.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 java.util.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 java.lang.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​(java.lang.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 java.lang.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 java.lang.String[] findSerializationPropertyOrder​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
        Overrides:
        findSerializationPropertyOrder in class com.fasterxml.jackson.databind.AnnotationIntrospector
      • findSerializationSortAlphabetically

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

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

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

        public java.lang.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 java.lang.String[] findEnumValues​(java.lang.Class<?> enumType,
                                                 java.lang.Enum<?>[] enumValues,
                                                 java.lang.String[] names)
        Deprecated.
        Overrides:
        findEnumValues in class com.fasterxml.jackson.databind.AnnotationIntrospector
      • findEnumValues

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

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

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

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

        protected java.lang.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 java.lang.Object findDeserializationConverter​(com.fasterxml.jackson.databind.introspect.Annotated a)
        Overrides:
        findDeserializationConverter in class com.fasterxml.jackson.databind.AnnotationIntrospector
      • findDeserializationContentConverter

        public java.lang.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 java.lang.annotation.Annotation> A findAnnotation​(java.lang.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​(java.lang.annotation.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,
                                                                                 java.lang.Class<?> aeType,
                                                                                 java.lang.String defaultName)
      • _combineNames

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

        private javax.xml.bind.annotation.XmlRootElement findRootElementAnnotation​(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
      • findAdapter

        private javax.xml.bind.annotation.adapters.XmlAdapter<java.lang.Object,​java.lang.Object> findAdapter​(com.fasterxml.jackson.databind.introspect.Annotated am,
                                                                                                                   boolean forSerialization,
                                                                                                                   java.lang.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 javax.xml.bind.annotation.adapters.XmlAdapter<java.lang.Object,​java.lang.Object> checkAdapter​(javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter adapterInfo,
                                                                                                                          java.lang.Class<?> typeNeeded,
                                                                                                                          boolean forSerialization)
      • findAdapterForClass

        private javax.xml.bind.annotation.adapters.XmlAdapter<java.lang.Object,​java.lang.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​(java.lang.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​(javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> adapter,
                                           java.lang.Class<?> targetType)
      • findAdapterBoundType

        private java.lang.Class<?> findAdapterBoundType​(javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> adapter)
      • _findContentAdapter

        protected javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> _findContentAdapter​(com.fasterxml.jackson.databind.introspect.Annotated ann,
                                                                                               boolean forSerialization)
      • _propertyNameToString

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

        protected java.lang.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 java.lang.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<java.lang.Object,​java.lang.Object> _converter​(javax.xml.bind.annotation.adapters.XmlAdapter<?,​?> adapter,
                                                                                                                    boolean forSerialization)
      • _getTypeFromXmlElement

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

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

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

        protected java.lang.String _stdManglePropertyName​(java.lang.String basename,
                                                          int offset)
      • _decapitalize

        protected java.lang.String _decapitalize​(java.lang.String name)