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
,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 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:
- Serialized Form
-
-
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 withXmlElement
andXmlElementWrapper
, in casenillable
property is left asfalse
.protected com.fasterxml.jackson.databind.type.TypeFactory
_typeFactory
protected java.lang.String
_xmlValueName
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 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
-
Constructor Summary
Constructors Constructor Description JaxbAnnotationIntrospector()
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
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 JAXBXmlAccessType
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>
AfindAnnotation(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 withXmlValue
.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 isXmlAttribute
to be found, we consider it an attribute; ifXmlElement
, 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 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.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
.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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
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 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 _nonNillableInclusion
Inclusion 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 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 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 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 interfacecom.fasterxml.jackson.core.Versioned
- Specified by:
version
in classcom.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 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
public java.lang.String 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 java.lang.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 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 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 java.lang.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 java.lang.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
public java.lang.Boolean isIgnorableType(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
- 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
public java.lang.Boolean hasRequiredMarker(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
- 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
public java.lang.String findImplicitPropertyName(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
- 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
protected javax.xml.bind.annotation.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). 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 java.util.List<com.fasterxml.jackson.databind.jsontype.NamedType> findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated a)
- Overrides:
findSubtypes
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findTypeName
public java.lang.String findTypeName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
- 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
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 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 java.lang.String[] findSerializationPropertyOrder(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
- Overrides:
findSerializationPropertyOrder
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findSerializationSortAlphabetically
public java.lang.Boolean findSerializationSortAlphabetically(com.fasterxml.jackson.databind.introspect.Annotated ann)
- Overrides:
findSerializationSortAlphabetically
in classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findSerializationContentConverter
public java.lang.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 public java.lang.String[] findEnumValues(java.lang.Class<?> enumType, java.lang.Enum<?>[] enumValues, java.lang.String[] names)
Deprecated.- Overrides:
findEnumValues
in classcom.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 classcom.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 classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findKeyDeserializer
public java.lang.Object findKeyDeserializer(com.fasterxml.jackson.databind.introspect.Annotated am)
- Overrides:
findKeyDeserializer
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findContentDeserializer
public java.lang.Object findContentDeserializer(com.fasterxml.jackson.databind.introspect.Annotated a)
- Overrides:
findContentDeserializer
in classcom.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 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
public java.lang.Object findDeserializationConverter(com.fasterxml.jackson.databind.introspect.Annotated a)
- Overrides:
findDeserializationConverter
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findDeserializationContentConverter
public java.lang.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 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 deserializationtype
-- 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)
-
-