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 attachmentsXmlElementDecl
XmlElementRefs
because Jackson doesn't have any support for 'named' collection items; some parts could theoretically be supportedXmlInlineBinaryData
since the underlying concepts (like XOP) do not exist in JSON -- Jackson will always use inline base64 encoding as the methodXmlList
because JSON does not have (or necessarily need) method of serializing list of values as space-separated StringsXmlMimeType
XmlMixed
since JSON has no concept of mixed contentXmlRegistry
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.
- 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
FieldsModifier and TypeFieldDescriptionprotected 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 withXmlElement
andXmlElementWrapper
, in casenillable
property is left asfalse
.protected final com.fasterxml.jackson.databind.type.TypeFactory
protected String
When usingXmlValue
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
ConstructorsConstructorDescriptionDeprecated.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 TypeMethodDescriptionprivate static com.fasterxml.jackson.databind.PropertyName
_combineNames
(String localName, String namespace, String defaultName) _converter
(XmlAdapter<?, ?> adapter, boolean forSerialization) protected String
_decapitalize
(String name) 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 JAXBXmlAccessType
annotation value for given annotated entity, if it has one, or inherits one from its ancestors (in JAXB sense, package etc).private XmlAdapter
<Object, Object> findAdapter
(com.fasterxml.jackson.databind.introspect.Annotated am, boolean forSerialization, Class<?> type) Finds the XmlAdapter for the specified annotation.private Class
<?> findAdapterBoundType
(XmlAdapter<?, ?> adapter) private XmlAdapter
<Object, Object> findAdapterForClass
(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, boolean forSerialization) private <A extends Annotation>
AfindAnnotation
(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) String[]
findEnumValues
(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass annotatedClass, Enum<?>[] enumValues, String[] names) String[]
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) private XmlRootElement
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) String[]
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 withXmlValue
.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
isContainerType
(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
(Class<?> type) 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 isXmlAttribute
to be found, we consider it an attribute; ifXmlElement
, 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
setNameUsedForXmlValue
(String name) Configuration method that can be used to change default name ("value") used for properties annotated withXmlValue
; note that setting it tonull
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 withXmlElement
orXmlElementWrapper
, withnillable
set asfalse
.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, 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
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
DEFAULT_NAME_FOR_XML_VALUE
- See Also:
-
DEFAULT_IGNORE_XMLIDREF
protected static final boolean DEFAULT_IGNORE_XMLIDREF- See Also:
-
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
-
_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
When usingXmlValue
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 _nonNillableInclusionInclusion value to return for properties annotated withXmlElement
andXmlElementWrapper
, in casenillable
property is left asfalse
. Default setting isnull
; this is typically changed to eitherJsonInclude.Include.NON_NULL
orJsonInclude.Include.NON_EMPTY
.- Since:
- 2.7
-
-
Constructor Details
-
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 informationignoreXmlIDREF
- WhetherXmlIDREF
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 interfacecom.fasterxml.jackson.core.Versioned
- Specified by:
version
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
setNameUsedForXmlValue
Configuration method that can be used to change default name ("value") used for properties annotated withXmlValue
; note that setting it tonull
will actually avoid name override, and name will instead be derived from underlying method name using standard bean name introspection.- Since:
- 2.5
-
getNameUsedForXmlValue
Accessor for getting currently configured placeholder named used for property annotated withXmlValue
. -
setNonNillableInclusion
public JaxbAnnotationIntrospector setNonNillableInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include incl) Method to call to change inclusion criteria used for property annotated withXmlElement
orXmlElementWrapper
, withnillable
set asfalse
.- 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 interfacecom.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 isXmlAttribute
to be found, we consider it an attribute; ifXmlElement
, 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 interfacecom.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 interfacecom.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 interfacecom.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions
-
findObjectIdInfo
public com.fasterxml.jackson.databind.introspect.ObjectIdInfo findObjectIdInfo(com.fasterxml.jackson.databind.introspect.Annotated ann) - Overrides:
findObjectIdInfo
in classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findRootName
public com.fasterxml.jackson.databind.PropertyName findRootName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac) - Overrides:
findRootName
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
isIgnorableType
- Overrides:
isIgnorableType
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
hasIgnoreMarker
public boolean hasIgnoreMarker(com.fasterxml.jackson.databind.introspect.AnnotatedMember m) - Overrides:
hasIgnoreMarker
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
hasRequiredMarker
- Overrides:
hasRequiredMarker
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findWrapperName
public com.fasterxml.jackson.databind.PropertyName findWrapperName(com.fasterxml.jackson.databind.introspect.Annotated ann) - Overrides:
findWrapperName
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findImplicitPropertyName
- Overrides:
findImplicitPropertyName
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findFormat
public com.fasterxml.jackson.annotation.JsonFormat.Value findFormat(com.fasterxml.jackson.databind.introspect.Annotated m) - Overrides:
findFormat
in classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findAccessType
Method for locating JAXBXmlAccessType
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 classcom.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 classcom.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 classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findTypeName
- Overrides:
findTypeName
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findSerializer
public com.fasterxml.jackson.databind.JsonSerializer<?> findSerializer(com.fasterxml.jackson.databind.introspect.Annotated am) - Overrides:
findSerializer
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
isDataHandler
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
- Overrides:
findContentSerializer
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findPropertyInclusion
public com.fasterxml.jackson.annotation.JsonInclude.Value findPropertyInclusion(com.fasterxml.jackson.databind.introspect.Annotated a) - Overrides:
findPropertyInclusion
in classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
findSerializationPropertyOrder
public String[] findSerializationPropertyOrder(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac) - Overrides:
findSerializationPropertyOrder
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findSerializationSortAlphabetically
public Boolean findSerializationSortAlphabetically(com.fasterxml.jackson.databind.introspect.Annotated ann) - Overrides:
findSerializationSortAlphabetically
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
_findAlpha
-
findSerializationConverter
- Overrides:
findSerializationConverter
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findSerializationContentConverter
public Object findSerializationContentConverter(com.fasterxml.jackson.databind.introspect.AnnotatedMember a) - Overrides:
findSerializationContentConverter
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findNameForSerialization
public com.fasterxml.jackson.databind.PropertyName findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a) - Overrides:
findNameForSerialization
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
hasAsValueAnnotation
@Deprecated public boolean hasAsValueAnnotation(com.fasterxml.jackson.databind.introspect.AnnotatedMethod am) Deprecated.- Overrides:
hasAsValueAnnotation
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findEnumValues
Deprecated.- Overrides:
findEnumValues
in classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
- Since:
- 2.16
- See Also:
-
findDeserializer
- Overrides:
findDeserializer
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findKeyDeserializer
- Overrides:
findKeyDeserializer
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findContentDeserializer
- Overrides:
findContentDeserializer
in classcom.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 classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findDeserializationConverter
- Overrides:
findDeserializationConverter
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findDeserializationContentConverter
public Object findDeserializationContentConverter(com.fasterxml.jackson.databind.introspect.AnnotatedMember a) - Overrides:
findDeserializationContentConverter
in classcom.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
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
-
_combineNames
-
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 deserializationtype
-- 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
Helper method used to distinguish structured types (arrays, Lists, Maps), which with JAXB use different rules for defining content types. -
adapterTypeMatches
-
findAdapterBoundType
-
_findContentAdapter
protected XmlAdapter<?,?> _findContentAdapter(com.fasterxml.jackson.databind.introspect.Annotated ann, boolean forSerialization) -
_propertyNameToString
-
_rawDeserializationType
-
_fullDeserializationType
protected com.fasterxml.jackson.databind.JavaType _fullDeserializationType(com.fasterxml.jackson.databind.introspect.AnnotatedMember am) -
_rawSerializationType
-
_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
-
_okNameForGetter
-
_okNameForMutator
-
_stdManglePropertyName
-
_decapitalize
-