public class JaxbAnnotationIntrospector extends AnnotationIntrospector implements Versioned
XmlAnyAttribute not yet used (as of 1.5) but may be in future (as an alias for @JsonAnySetter?)
XmlAnyElement not yet used, may be as per [JACKSON-253]
XmlAttachmentRef: JSON does not support external attachments
XmlElementDecl
XmlElementRefs because Jackson doesn't have any support for 'named' collection items -- however,
this may become partially supported as per [JACKSON-253].
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 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
XmlSchema not used, unlikely to be used
XmlSchemaType not used, unlikely to be used
XmlSchemaTypes not used, unlikely to be used
XmlSeeAlso not yet supported, but [ISSUE-1] filed to use it, so may be supported.
XmlValue will have implicit property named 'value' on
its JSON object; although (as of 2.4) it should be possible to override this name
A note on compatibility with Jackson XML module: since this module does not depend on Jackson XML module, it is bit difficult to make sure we will properly expose all information. But effort is made (as of version 2.3.3) to expose this information, even without using a specific sub-class from that project.
AnnotationIntrospector.ReferenceProperty| Modifier and Type | Field and Description |
|---|---|
protected JsonDeserializer<?> |
_dataHandlerDeserializer |
protected JsonSerializer<?> |
_dataHandlerSerializer |
protected boolean |
_ignoreXmlIDREF |
protected String |
_jaxbPackageName |
protected JsonInclude.Include |
_nonNillableInclusion
Inclusion value to return for properties annotated with
XmlElement and XmlElementWrapper, in case nillable
property is left as false. |
protected TypeFactory |
_typeFactory |
protected String |
_xmlValueName
When using
XmlValue annotation, a placeholder name is assigned
to property (unless overridden by explicit name); this configuration
value specified what that name is. |
protected static boolean |
DEFAULT_IGNORE_XMLIDREF |
protected static String |
DEFAULT_NAME_FOR_XML_VALUE |
protected static JsonFormat.Value |
FORMAT_INT |
protected static JsonFormat.Value |
FORMAT_STRING |
protected static String |
MARKER_FOR_DEFAULT |
| Constructor and Description |
|---|
JaxbAnnotationIntrospector()
Deprecated.
Since 2.1, use constructor that takes TypeFactory.
|
JaxbAnnotationIntrospector(MapperConfig<?> config) |
JaxbAnnotationIntrospector(TypeFactory typeFactory) |
JaxbAnnotationIntrospector(TypeFactory typeFactory,
boolean ignoreXmlIDREF) |
| Modifier and Type | Method and Description |
|---|---|
protected Converter<Object,Object> |
_converter(XmlAdapter<?,?> adapter,
boolean forSerialization) |
protected Class<?> |
_doFindDeserializationType(Annotated a,
JavaType baseType) |
protected XmlAdapter<?,?> |
_findContentAdapter(Annotated ann,
boolean forSerialization) |
protected JavaType |
_fullDeserializationType(AnnotatedMember am) |
protected JavaType |
_fullSerializationType(AnnotatedMember am) |
protected Class<?> |
_getTypeFromXmlElement(Annotated a) |
protected String |
_propertyNameToString(PropertyName n) |
protected Class<?> |
_rawDeserializationType(Annotated a) |
protected Class<?> |
_rawSerializationType(Annotated a) |
protected TypeResolverBuilder<?> |
_typeResolverFromXmlElements(AnnotatedMember am) |
protected XmlAccessType |
findAccessType(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). |
VisibilityChecker<?> |
findAutoDetectVisibility(AnnotatedClass ac,
VisibilityChecker<?> checker)
Method for checking if annotations indicate changes to minimum visibility levels
needed for auto-detecting property elements (fields, methods, constructors).
|
Object |
findContentDeserializer(Annotated a)
Method for getting a deserializer definition for content (values) of
associated
Collection, array or
Map property. |
Object |
findContentSerializer(Annotated a)
Method for getting a serializer definition for content (values) of
associated
Collection, array or Map property. |
Object |
findDeserializationContentConverter(AnnotatedMember a)
Method for finding
Converter that annotated property
has indicated needs to be used for values of container type
(this also means that method should only be called for properties
of container types, List/Map/array properties). |
Class<?> |
findDeserializationContentType(Annotated a,
JavaType baseContentType)
Deprecated.
|
Object |
findDeserializationConverter(Annotated a)
Method for finding
Converter that annotated entity
(property or class) has indicated to be used as part of
deserialization. |
Class<?> |
findDeserializationType(Annotated a,
JavaType baseType)
Deprecated.
|
Object |
findDeserializer(Annotated am)
Method for getting a deserializer definition on specified method
or field.
|
String |
findEnumValue(Enum<?> e)
Deprecated.
|
String[] |
findEnumValues(Class<?> enumType,
Enum<?>[] enumValues,
String[] names)
Method for efficiently figuring out which if given set of
Enum values
have explicitly defined name. |
JsonFormat.Value |
findFormat(Annotated m)
Method for finding format annotations for property or class.
|
String |
findImplicitPropertyName(AnnotatedMember m)
Method for finding implicit name for a property that given annotated
member (field, method, creator parameter) may represent.
|
Object |
findKeyDeserializer(Annotated am)
Method for getting a deserializer definition for keys of
associated
Map property. |
PropertyName |
findNameForDeserialization(Annotated a)
Method for checking whether given property accessors (method,
field) has an annotation that suggests property name to use
for deserialization (reading JSON into POJOs).
|
PropertyName |
findNameForSerialization(Annotated a)
Method for checking whether given property accessors (method,
field) has an annotation that suggests property name to use
for serialization.
|
String |
findNamespace(Annotated ann) |
ObjectIdInfo |
findObjectIdInfo(Annotated ann)
Method for checking whether given annotated thing
(type, or accessor) indicates that values
referenced (values of type of annotated class, or
values referenced by annotated property; latter
having precedence) should include Object Identifier,
and if so, specify details of Object Identity used.
|
ObjectIdInfo |
findObjectReferenceInfo(Annotated ann,
ObjectIdInfo base)
Method for figuring out additional properties of an Object Identity reference
|
TypeResolverBuilder<?> |
findPropertyContentTypeResolver(MapperConfig<?> config,
AnnotatedMember am,
JavaType containerType)
Method for checking if given structured property entity (field or method that
has nominal value of Map, Collection or array type) has annotations
that indicate that specific type resolver is to be used for handling type
information of contained values.
|
JsonInclude.Value |
findPropertyInclusion(Annotated a)
Method for checking inclusion criteria for a type (Class) or property (yes, method
name is bit unfortunate -- not just for properties!).
|
TypeResolverBuilder<?> |
findPropertyTypeResolver(MapperConfig<?> config,
AnnotatedMember am,
JavaType baseType)
Method for checking if given property entity (field or method) has annotations
that indicate that specific type resolver is to be used for handling instances.
|
PropertyName |
findRootName(AnnotatedClass ac)
Method for locating name used as "root name" (for use by
some serializers when outputting root-level object -- mostly
for XML compatibility purposes) for given class, if one
is defined.
|
Object |
findSerializationContentConverter(AnnotatedMember a)
Method for finding
Converter that annotated property
has indicated needs to be used for values of container type
(this also means that method should only be called for properties
of container types, List/Map/array properties). |
Object |
findSerializationConverter(Annotated a)
Method for finding
Converter that annotated entity
(property or class) has indicated to be used as part of
serialization. |
JsonInclude.Include |
findSerializationInclusion(Annotated a,
JsonInclude.Include defValue)
Deprecated.
|
String[] |
findSerializationPropertyOrder(AnnotatedClass ac)
Method for accessing defined property serialization order (which may be
partial).
|
Boolean |
findSerializationSortAlphabetically(Annotated ann)
Method for checking whether an annotation indicates that serialized properties
for which no explicit is defined should be alphabetically (lexicograpically)
ordered
|
Class<?> |
findSerializationType(Annotated a)
Deprecated.
|
JsonSerializer<?> |
findSerializer(Annotated am)
Method for getting a serializer definition on specified method
or field.
|
List<NamedType> |
findSubtypes(Annotated a)
Method for locating annotation-specified subtypes related to annotated
entity (class, method, field).
|
String |
findTypeName(AnnotatedClass ac)
Method for checking if specified type has explicit name.
|
TypeResolverBuilder<?> |
findTypeResolver(MapperConfig<?> config,
AnnotatedClass ac,
JavaType baseType)
Method for checking if given class has annotations that indicate
that specific type resolver is to be used for handling instances.
|
PropertyName |
findWrapperName(Annotated ann)
Method used to check if specified property has annotation that indicates
that it should be wrapped in an element; and if so, name to use.
|
String |
getNameUsedForXmlValue()
Accessor for getting currently configured placeholder named
used for property annotated with
XmlValue. |
JsonInclude.Include |
getNonNillableInclusion() |
protected TypeFactory |
getTypeFactory() |
boolean |
hasAsValueAnnotation(AnnotatedMethod am)
Method for checking whether given method has an annotation
that suggests that the return value of annotated method
should be used as "the value" of the object instance; usually
serialized as a primitive value such as String or number.
|
boolean |
hasCreatorAnnotation(Annotated am)
Method for checking whether given annotated item (method, constructor)
has an annotation
that suggests that the method is a "creator" (aka factory)
method to be used for construct new instances of deserialized
values.
|
boolean |
hasIgnoreMarker(AnnotatedMember m)
Method called to check whether given property is marked to
be ignored.
|
Boolean |
hasRequiredMarker(AnnotatedMember m)
Method that can be called to check whether this member has
an annotation that suggests whether value for matching property
is required or not.
|
Boolean |
isIgnorableType(AnnotatedClass ac)
Method for checking whether properties that have specified type
(class, not generics aware) should be completely ignored for
serialization and deserialization purposes.
|
protected boolean |
isJAXBAnnotation(Annotation ann)
An annotation is handled if it's in the same package as @XmlElement, including subpackages.
|
Boolean |
isOutputAsAttribute(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. |
Boolean |
isOutputAsText(Annotated ann) |
JavaType |
refineDeserializationType(MapperConfig<?> config,
Annotated a,
JavaType baseType)
Method called to find out possible type refinements to use
for deserialization.
|
JavaType |
refineSerializationType(MapperConfig<?> config,
Annotated a,
JavaType baseType)
Method called to find out possible type refinements to use
for deserialization.
|
void |
setNameUsedForXmlValue(String name)
Configuration method that can be used to change default name
("value") used for properties annotated with
XmlValue;
note that setting it to null will actually avoid
name override, and name will instead be derived from underlying
method name using standard bean name introspection. |
JaxbAnnotationIntrospector |
setNonNillableInclusion(JsonInclude.Include incl)
Method to call to change inclusion criteria used for property annotated
with
XmlElement or XmlElementWrapper, with nillable
set as false. |
Version |
version()
Method that will return version information stored in and read from jar
that contains this class.
|
_findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findAndAddVirtualProperties, findClassDescription, findCreatorBinding, findDefaultEnumValue, findDeserializationKeyType, findFilterId, findIgnoreUnknownProperties, findInjectableValueId, findKeySerializer, findNamingStrategy, findNullSerializer, findPOJOBuilder, findPOJOBuilderConfig, findPropertiesToIgnore, findPropertiesToIgnore, findPropertyAccess, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnorals, findPropertyIndex, findReferenceType, findSerializationContentType, findSerializationInclusionForContent, findSerializationKeyType, findSerializationTyping, findUnwrappingNameTransformer, findValueInstantiator, findViews, hasAnyGetterAnnotation, hasAnySetterAnnotation, isAnnotationBundle, isTypeId, nopInstance, pair, resolveSetterConflictprotected static final String DEFAULT_NAME_FOR_XML_VALUE
protected static final boolean DEFAULT_IGNORE_XMLIDREF
protected static final String MARKER_FOR_DEFAULT
protected static final JsonFormat.Value FORMAT_STRING
protected static final JsonFormat.Value FORMAT_INT
protected final String _jaxbPackageName
protected final JsonSerializer<?> _dataHandlerSerializer
protected final JsonDeserializer<?> _dataHandlerDeserializer
protected final TypeFactory _typeFactory
protected final boolean _ignoreXmlIDREF
protected String _xmlValueName
XmlValue annotation, a placeholder name is assigned
to property (unless overridden by explicit name); this configuration
value specified what that name is.protected JsonInclude.Include _nonNillableInclusion
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.@Deprecated public JaxbAnnotationIntrospector()
public JaxbAnnotationIntrospector(MapperConfig<?> config)
public JaxbAnnotationIntrospector(TypeFactory typeFactory)
public JaxbAnnotationIntrospector(TypeFactory typeFactory, boolean ignoreXmlIDREF)
typeFactory - Type factory used for resolving type informationignoreXmlIDREF - 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)public Version version()
version in interface Versionedversion in class AnnotationIntrospectorpublic void setNameUsedForXmlValue(String name)
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.public String getNameUsedForXmlValue()
XmlValue.public JaxbAnnotationIntrospector setNonNillableInclusion(JsonInclude.Include incl)
XmlElement or XmlElementWrapper, with nillable
set as false.public JsonInclude.Include getNonNillableInclusion()
public Boolean isOutputAsAttribute(Annotated ann)
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.public ObjectIdInfo findObjectIdInfo(Annotated ann)
AnnotationIntrospectorfindObjectIdInfo in class AnnotationIntrospectorpublic ObjectIdInfo findObjectReferenceInfo(Annotated ann, ObjectIdInfo base)
AnnotationIntrospectorfindObjectReferenceInfo in class AnnotationIntrospectorpublic PropertyName findRootName(AnnotatedClass ac)
AnnotationIntrospector
NOTE: method signature changed in 2.1, to return PropertyName
instead of String.
findRootName in class AnnotationIntrospectorpublic Boolean isIgnorableType(AnnotatedClass ac)
AnnotationIntrospectorisIgnorableType in class AnnotationIntrospectorac - Type to checkpublic boolean hasIgnoreMarker(AnnotatedMember m)
AnnotationIntrospectorhasIgnoreMarker in class AnnotationIntrospectorpublic Boolean hasRequiredMarker(AnnotatedMember m)
AnnotationIntrospectorhasRequiredMarker in class AnnotationIntrospectorpublic PropertyName findWrapperName(Annotated ann)
AnnotationIntrospectorfindWrapperName in class AnnotationIntrospectorPropertyName.USE_DEFAULT
to indicate that no wrapper element should be used.public String findImplicitPropertyName(AnnotatedMember m)
AnnotationIntrospectorfindImplicitPropertyName in class AnnotationIntrospectorpublic JsonFormat.Value findFormat(Annotated m)
AnnotationIntrospectorfindFormat in class AnnotationIntrospectorpublic VisibilityChecker<?> findAutoDetectVisibility(AnnotatedClass ac, VisibilityChecker<?> checker)
AnnotationIntrospectorfindAutoDetectVisibility in class AnnotationIntrospectorprotected XmlAccessType findAccessType(Annotated ac)
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.public TypeResolverBuilder<?> findTypeResolver(MapperConfig<?> config, AnnotatedClass ac, JavaType baseType)
AnnotationIntrospectorAnnotationIntrospector.findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated)findTypeResolver in class AnnotationIntrospectorconfig - Configuration settings in effect (for serialization or deserialization)ac - Annotated class to check for annotationsbaseType - Base java type of value for which resolver is to be foundpublic TypeResolverBuilder<?> findPropertyTypeResolver(MapperConfig<?> config, AnnotatedMember am, JavaType baseType)
AnnotationIntrospectorAnnotationIntrospector.findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated)findPropertyTypeResolver in class AnnotationIntrospectorconfig - Configuration settings in effect (for serialization or deserialization)am - Annotated member (field or method) to check for annotationsbaseType - Base java type of property for which resolver is to be foundpublic TypeResolverBuilder<?> findPropertyContentTypeResolver(MapperConfig<?> config, AnnotatedMember am, JavaType containerType)
AnnotationIntrospectorAnnotationIntrospector.findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated)findPropertyContentTypeResolver in class AnnotationIntrospectorconfig - Configuration settings in effect (for serialization or deserialization)am - Annotated member (field or method) to check for annotationscontainerType - Type of property for which resolver is to be found (must be a container type)protected TypeResolverBuilder<?> _typeResolverFromXmlElements(AnnotatedMember am)
public List<NamedType> findSubtypes(Annotated a)
AnnotationIntrospectorfindSubtypes in class AnnotationIntrospectora - Annotated entity (class, field/method) to check for annotationspublic String findTypeName(AnnotatedClass ac)
AnnotationIntrospectorfindTypeName in class AnnotationIntrospectorac - Class to check for type name annotationspublic JsonSerializer<?> findSerializer(Annotated am)
AnnotationIntrospectorJsonSerializer) or Class (of type
Class<JsonSerializer>); if value of different
type is returned, a runtime exception may be thrown by caller.findSerializer in class AnnotationIntrospectorpublic Object findContentSerializer(Annotated a)
AnnotationIntrospectorCollection, array or Map property.
Type of definition is either instance (of type
JsonSerializer) or Class (of type
Class<JsonSerializer>); if value of different
type is returned, a runtime exception may be thrown by caller.findContentSerializer in class AnnotationIntrospector@Deprecated public Class<?> findSerializationType(Annotated a)
AnnotationIntrospectorfindSerializationType in class AnnotationIntrospector@Deprecated public JsonInclude.Include findSerializationInclusion(Annotated a, JsonInclude.Include defValue)
findSerializationInclusion in class AnnotationIntrospectorpublic JsonInclude.Value findPropertyInclusion(Annotated a)
AnnotationIntrospectorfindPropertyInclusion in class AnnotationIntrospectorpublic JavaType refineSerializationType(MapperConfig<?> config, Annotated a, JavaType baseType) throws JsonMappingException
AnnotationIntrospectorrefineSerializationType in class AnnotationIntrospectorJsonMappingExceptionpublic String[] findSerializationPropertyOrder(AnnotatedClass ac)
AnnotationIntrospectorfindSerializationPropertyOrder in class AnnotationIntrospectorpublic Boolean findSerializationSortAlphabetically(Annotated ann)
AnnotationIntrospectorfindSerializationSortAlphabetically in class AnnotationIntrospectorpublic Object findSerializationConverter(Annotated a)
AnnotationIntrospectorConverter that annotated entity
(property or class) has indicated to be used as part of
serialization. If not null, either has to be actual
Converter instance, or class for such converter;
and resulting converter will be used first to convert property
value to converter target type, and then serializer for that
type is used for actual serialization.
This feature is typically used to convert internal values into types that Jackson can convert.
Note also that this feature does not necessarily work well with polymorphic type handling, or object identity handling; if such features are needed an explicit serializer is usually better way to handle serialization.
findSerializationConverter in class AnnotationIntrospectora - Annotated property (field, method) or class to check for
annotationspublic Object findSerializationContentConverter(AnnotatedMember a)
AnnotationIntrospectorConverter that annotated property
has indicated needs to be used for values of container type
(this also means that method should only be called for properties
of container types, List/Map/array properties).
If not null, either has to be actual
Converter instance, or class for such converter;
and resulting converter will be used first to convert property
value to converter target type, and then serializer for that
type is used for actual serialization.
Other notes are same as those for AnnotationIntrospector.findSerializationConverter(com.fasterxml.jackson.databind.introspect.Annotated)
findSerializationContentConverter in class AnnotationIntrospectora - Annotated property (field, method) to check.public PropertyName findNameForSerialization(Annotated a)
AnnotationIntrospectorPropertyName.USE_DEFAULT, which means "use default heuristics").findNameForSerialization in class AnnotationIntrospectora - Property accessor to checkpublic boolean hasAsValueAnnotation(AnnotatedMethod am)
AnnotationIntrospectorhasAsValueAnnotation in class AnnotationIntrospector@Deprecated public String findEnumValue(Enum<?> e)
This is very slow implementation, but as of Jackson 2.7, should not be called any more;
instead, findEnumValues(java.lang.Class<?>, java.lang.Enum<?>[], java.lang.String[]) should be called which has less overhead.
findEnumValue in class AnnotationIntrospectorpublic String[] findEnumValues(Class<?> enumType, Enum<?>[] enumValues, String[] names)
AnnotationIntrospectorEnum values
have explicitly defined name. Method will overwrite entries in incoming names
array with explicit names found, if any, leaving other entries unmodified.
Default implementation will simply delegate to AnnotationIntrospector.findEnumValue(java.lang.Enum<?>), which is close
enough, although unfortunately NOT 100% equivalent (as it will also consider name()
to give explicit value).
findEnumValues in class AnnotationIntrospectorpublic Object findDeserializer(Annotated am)
AnnotationIntrospectorJsonDeserializer) or Class (of type
Class<JsonDeserializer>); if value of different
type is returned, a runtime exception may be thrown by caller.findDeserializer in class AnnotationIntrospectorpublic Object findKeyDeserializer(Annotated am)
AnnotationIntrospectorMap property.
Type of definition is either instance (of type
JsonDeserializer) or Class (of type
Class<JsonDeserializer>); if value of different
type is returned, a runtime exception may be thrown by caller.findKeyDeserializer in class AnnotationIntrospectorpublic Object findContentDeserializer(Annotated a)
AnnotationIntrospectorCollection, array or
Map property.
Type of definition is either instance (of type
JsonDeserializer) or Class (of type
Class<JsonDeserializer>); if value of different
type is returned, a runtime exception may be thrown by caller.findContentDeserializer in class AnnotationIntrospector@Deprecated public Class<?> findDeserializationType(Annotated a, JavaType baseType)
findDeserializationType in class AnnotationIntrospectorbaseType - Assumed type before considering annotations@Deprecated public Class<?> findDeserializationContentType(Annotated a, JavaType baseContentType)
AnnotationIntrospectorfindDeserializationContentType in class AnnotationIntrospectorbaseContentType - Assumed content (value) type before considering annotationsprotected Class<?> _doFindDeserializationType(Annotated a, JavaType baseType)
public JavaType refineDeserializationType(MapperConfig<?> config, Annotated a, JavaType baseType) throws JsonMappingException
AnnotationIntrospectorrefineDeserializationType in class AnnotationIntrospectorJsonMappingExceptionpublic PropertyName findNameForDeserialization(Annotated a)
AnnotationIntrospectorPropertyName.USE_DEFAULT, which means "use default heuristics").findNameForDeserialization in class AnnotationIntrospectora - Property accessor to checkpublic boolean hasCreatorAnnotation(Annotated am)
AnnotationIntrospectorhasCreatorAnnotation in class AnnotationIntrospectorpublic Object findDeserializationConverter(Annotated a)
AnnotationIntrospectorConverter that annotated entity
(property or class) has indicated to be used as part of
deserialization.
If not null, either has to be actual
Converter instance, or class for such converter;
and resulting converter will be used after Jackson has deserializer
data into intermediate type (Converter input type), and Converter
needs to convert this into its target type to be set as property value.
This feature is typically used to convert intermediate Jackson types (that default deserializers can produce) into custom type instances.
Note also that this feature does not necessarily work well with polymorphic type handling, or object identity handling; if such features are needed an explicit deserializer is usually better way to handle deserialization.
findDeserializationConverter in class AnnotationIntrospectora - Annotated property (field, method) or class to check for
annotationspublic Object findDeserializationContentConverter(AnnotatedMember a)
AnnotationIntrospectorConverter that annotated property
has indicated needs to be used for values of container type
(this also means that method should only be called for properties
of container types, List/Map/array properties).
If not null, either has to be actual
Converter instance, or class for such converter;
and resulting converter will be used after Jackson has deserializer
data into intermediate type (Converter input type), and Converter
needs to convert this into its target type to be set as property value.
Other notes are same as those for AnnotationIntrospector.findDeserializationConverter(com.fasterxml.jackson.databind.introspect.Annotated)
findDeserializationContentConverter in class AnnotationIntrospectora - Annotated property (field, method) to check.protected boolean isJAXBAnnotation(Annotation ann)
ann - The annotation.protected final TypeFactory getTypeFactory()
protected XmlAdapter<?,?> _findContentAdapter(Annotated ann, boolean forSerialization)
protected String _propertyNameToString(PropertyName n)
protected JavaType _fullDeserializationType(AnnotatedMember am)
protected JavaType _fullSerializationType(AnnotatedMember am)
protected Converter<Object,Object> _converter(XmlAdapter<?,?> adapter, boolean forSerialization)
Copyright © 2017 JBoss by Red Hat. All rights reserved.