Class JacksonXmlAnnotationIntrospector
java.lang.Object
com.fasterxml.jackson.databind.AnnotationIntrospector
com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned
,com.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions
,XmlAnnotationIntrospector
,Serializable
public class JacksonXmlAnnotationIntrospector
extends com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
implements XmlAnnotationIntrospector
Extension of
JacksonAnnotationIntrospector
that is needed to support
additional xml-specific annotation that Jackson provides. Note, however, that
there is no JAXB annotation support here; that is provided with
separate introspector (see
https://github.com/FasterXML/jackson-modules-base/tree/master/jaxb,
class com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector
).- 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
Nested classes/interfaces inherited from interface com.fasterxml.jackson.dataformat.xml.XmlAnnotationIntrospector
XmlAnnotationIntrospector.Pair
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
private static final Class<? extends Annotation>[]
static final boolean
For backwards compatibility with 2.0, the default behavior is to assume use of List wrapper if no annotations are used.private static final long
Fields inherited from class com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
_annotationsInside, _cfgConstructorPropertiesImpliesCreator
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder
We will override this method so that we can return instance that cleans up type id property name to be a valid xml name.protected com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder
<?> _constructStdTypeResolverBuilder
(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.annotation.JsonTypeInfo.Value typeInfo, com.fasterxml.jackson.databind.JavaType baseType) protected com.fasterxml.jackson.databind.PropertyName
_findXmlName
(com.fasterxml.jackson.databind.introspect.Annotated a) void
findAndAddVirtualProperties
(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, List<com.fasterxml.jackson.databind.ser.BeanPropertyWriter> properties) Due to issue [dataformat-xml#578] need to suppress calls to this method to avoid duplicate virtual properties from being added.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.PropertyName
findRootName
(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac) com.fasterxml.jackson.databind.PropertyName
findWrapperName
(com.fasterxml.jackson.databind.introspect.Annotated ann) isOutputAsAttribute
(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann) 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) void
setDefaultUseWrapper
(boolean b) Methods inherited from class com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
_classIfExplicit, _classIfExplicit, _constructNoTypeResolverBuilder, _constructVirtualProperty, _constructVirtualProperty, _findConstructorName, _findTypeResolver, _isIgnorable, _propertyName, findAutoDetectVisibility, findClassDescription, findContentDeserializer, findContentSerializer, findCreatorAnnotation, findCreatorBinding, findDefaultEnumValue, findDefaultEnumValue, findDeserializationContentConverter, findDeserializationConverter, findDeserializer, findEnumAliases, findEnumAliases, findEnumNamingStrategy, findEnumValue, findEnumValues, findEnumValues, findFilterId, findFormat, findImplicitPropertyName, findInjectableValue, findInjectableValueId, findKeyDeserializer, findKeySerializer, findMergeInfo, findNamingStrategy, findNullSerializer, findObjectIdInfo, findObjectReferenceInfo, findPOJOBuilder, findPOJOBuilderConfig, findPolymorphicTypeInfo, findPropertyAccess, findPropertyAliases, findPropertyContentTypeResolver, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnoralByName, findPropertyIgnorals, findPropertyInclusion, findPropertyInclusionByName, findPropertyIndex, findPropertyTypeResolver, findReferenceType, findRenameByField, findSerializationContentConverter, findSerializationConverter, findSerializationPropertyOrder, findSerializationSortAlphabetically, findSerializationTyping, findSerializer, findSetterInfo, findSubtypes, findTypeName, findTypeResolver, findUnwrappingNameTransformer, findValueInstantiator, findViews, hasAnyGetter, hasAnyGetterAnnotation, hasAnySetter, hasAnySetterAnnotation, hasAsKey, hasAsValue, hasAsValueAnnotation, hasCreatorAnnotation, hasIgnoreMarker, hasRequiredMarker, isAnnotationBundle, isIgnorableType, isTypeId, readResolve, refineDeserializationType, refineSerializationType, resolveSetterConflict, setConstructorPropertiesImpliesCreator, version
Methods inherited from class com.fasterxml.jackson.databind.AnnotationIntrospector
_findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, nopInstance, pair
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
ANNOTATIONS_TO_INFER_XML_PROP
-
DEFAULT_USE_WRAPPER
public static final boolean DEFAULT_USE_WRAPPERFor backwards compatibility with 2.0, the default behavior is to assume use of List wrapper if no annotations are used.- See Also:
-
_cfgDefaultUseWrapper
protected boolean _cfgDefaultUseWrapper
-
-
Constructor Details
-
JacksonXmlAnnotationIntrospector
public JacksonXmlAnnotationIntrospector() -
JacksonXmlAnnotationIntrospector
public JacksonXmlAnnotationIntrospector(boolean defaultUseWrapper)
-
-
Method Details
-
setDefaultUseWrapper
public void setDefaultUseWrapper(boolean b) -
findWrapperName
public com.fasterxml.jackson.databind.PropertyName findWrapperName(com.fasterxml.jackson.databind.introspect.Annotated ann) - Overrides:
findWrapperName
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.introspect.JacksonAnnotationIntrospector
-
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
-
findAndAddVirtualProperties
public void findAndAddVirtualProperties(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, List<com.fasterxml.jackson.databind.ser.BeanPropertyWriter> properties) Due to issue [dataformat-xml#578] need to suppress calls to this method to avoid duplicate virtual properties from being added. Not elegant but .. works.- Overrides:
findAndAddVirtualProperties
in classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
- Since:
- 2.15
-
isOutputAsAttribute
public Boolean isOutputAsAttribute(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann) - 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
-
findNameForSerialization
public com.fasterxml.jackson.databind.PropertyName findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a) - Overrides:
findNameForSerialization
in classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
findNameForDeserialization
public com.fasterxml.jackson.databind.PropertyName findNameForDeserialization(com.fasterxml.jackson.databind.introspect.Annotated a) - Overrides:
findNameForDeserialization
in classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
_constructStdTypeResolverBuilder
protected com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder _constructStdTypeResolverBuilder()We will override this method so that we can return instance that cleans up type id property name to be a valid xml name.- Overrides:
_constructStdTypeResolverBuilder
in classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
_constructStdTypeResolverBuilder
protected com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> _constructStdTypeResolverBuilder(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.annotation.JsonTypeInfo.Value typeInfo, com.fasterxml.jackson.databind.JavaType baseType) - Overrides:
_constructStdTypeResolverBuilder
in classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
_findXmlName
protected com.fasterxml.jackson.databind.PropertyName _findXmlName(com.fasterxml.jackson.databind.introspect.Annotated a)
-