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,java.io.Serializable
public class JacksonXmlAnnotationIntrospector extends com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector implements XmlAnnotationIntrospector
Extension ofJacksonAnnotationIntrospectorthat 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, classcom.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector).- See Also:
- Serialized Form
-
-
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
Fields Modifier and Type Field Description protected boolean_cfgDefaultUseWrapperprivate static java.lang.Class<? extends java.lang.annotation.Annotation>[]ANNOTATIONS_TO_INFER_XML_PROPstatic booleanDEFAULT_USE_WRAPPERFor backwards compatibility with 2.0, the default behavior is to assume use of List wrapper if no annotations are used.private static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description JacksonXmlAnnotationIntrospector()JacksonXmlAnnotationIntrospector(boolean defaultUseWrapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.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, java.util.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)java.lang.StringfindNamespace(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)java.lang.BooleanisOutputAsAttribute(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann)java.lang.BooleanisOutputAsCData(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated ann)java.lang.BooleanisOutputAsText(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, version
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
ANNOTATIONS_TO_INFER_XML_PROP
private static final java.lang.Class<? extends java.lang.annotation.Annotation>[] ANNOTATIONS_TO_INFER_XML_PROP
-
DEFAULT_USE_WRAPPER
public static final boolean DEFAULT_USE_WRAPPER
For backwards compatibility with 2.0, the default behavior is to assume use of List wrapper if no annotations are used.- See Also:
- Constant Field Values
-
_cfgDefaultUseWrapper
protected boolean _cfgDefaultUseWrapper
-
-
Method Detail
-
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 java.lang.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, java.util.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 java.lang.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 java.lang.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 java.lang.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)
-
-