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.XmlExtensionsNested classes/interfaces inherited from interface com.fasterxml.jackson.dataformat.xml.XmlAnnotationIntrospector
XmlAnnotationIntrospector.Pair -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprivate static final Class<? extends Annotation>[]static final booleanFor backwards compatibility with 2.0, the default behavior is to assume use of List wrapper if no annotations are used.private static final longFields 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.StdTypeResolverBuilderWe 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) voidfindAndAddVirtualProperties(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.PropertyNamefindNameForDeserialization(com.fasterxml.jackson.databind.introspect.Annotated a) com.fasterxml.jackson.databind.PropertyNamefindNameForSerialization(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.PropertyNamefindRootName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac) com.fasterxml.jackson.databind.PropertyNamefindWrapperName(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) voidsetDefaultUseWrapper(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, versionMethods inherited from class com.fasterxml.jackson.databind.AnnotationIntrospector
_findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findDefaultCreator, 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:
findWrapperNamein classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findRootName
public com.fasterxml.jackson.databind.PropertyName findRootName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac) - Overrides:
findRootNamein 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:
findNamespacein 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:
findAndAddVirtualPropertiesin 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:
isOutputAsAttributein 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:
isOutputAsTextin 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:
isOutputAsCDatain interfacecom.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions
-
findNameForSerialization
public com.fasterxml.jackson.databind.PropertyName findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a) - Overrides:
findNameForSerializationin classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
findNameForDeserialization
public com.fasterxml.jackson.databind.PropertyName findNameForDeserialization(com.fasterxml.jackson.databind.introspect.Annotated a) - Overrides:
findNameForDeserializationin 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:
_constructStdTypeResolverBuilderin 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:
_constructStdTypeResolverBuilderin classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
_findXmlName
protected com.fasterxml.jackson.databind.PropertyName _findXmlName(com.fasterxml.jackson.databind.introspect.Annotated a)
-