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 XmlAnnotationIntrospector
XmlAnnotationIntrospector.Pair -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanstatic final booleanFor backwards compatibility with 2.0, the default behavior is to assume use of List wrapper if no annotations are used.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.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, nopInstance, pair
-
Field Details
-
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)
-