Class ReflectionAnnotationIntrospector
- java.lang.Object
-
- com.fasterxml.jackson.databind.AnnotationIntrospector
-
- com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
- io.adminshell.aas.v3.dataformat.json.ReflectionAnnotationIntrospector
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned,Serializable
public class ReflectionAnnotationIntrospector extends com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospectorThis class helps to dynamically decide how to de-/serialize classes and properties defined in the AAS model library. This is equivalent to adding the following annotations- to all interfaces defined in the AAS model:
- @JsonTypeName([interface name])
- @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "modelType")
- @JsonSubTypes({ \@Type(value = [sub-interface].class, name = "[sub-interface name]"), ...}) for each sub-interface
- to all getter methods returning any type of Collection<?> defined in the
AAS model:
- @JsonInclude(JsonInclude.Include.NON_EMPTY)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ReflectionAnnotationIntrospector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.annotation.JsonInclude.ValuefindPropertyInclusion(com.fasterxml.jackson.databind.introspect.Annotated a)List<com.fasterxml.jackson.databind.jsontype.NamedType>findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated a)StringfindTypeName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>findTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, com.fasterxml.jackson.databind.JavaType baseType)-
Methods inherited from class com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
_classIfExplicit, _classIfExplicit, _constructNoTypeResolverBuilder, _constructStdTypeResolverBuilder, _constructVirtualProperty, _constructVirtualProperty, _findConstructorName, _findTypeResolver, _isIgnorable, _propertyName, findAndAddVirtualProperties, findAutoDetectVisibility, findClassDescription, findContentDeserializer, findContentSerializer, findCreatorAnnotation, findCreatorBinding, findDefaultEnumValue, findDeserializationContentConverter, findDeserializationContentType, findDeserializationConverter, findDeserializationKeyType, findDeserializationType, findDeserializer, findEnumAliases, findEnumValue, findEnumValues, findFilterId, findFormat, findImplicitPropertyName, findInjectableValue, findInjectableValueId, findKeyDeserializer, findKeySerializer, findMergeInfo, findNameForDeserialization, findNameForSerialization, findNamingStrategy, findNullSerializer, findObjectIdInfo, findObjectReferenceInfo, findPOJOBuilder, findPOJOBuilderConfig, findPropertyAccess, findPropertyAliases, findPropertyContentTypeResolver, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnoralByName, findPropertyIgnorals, findPropertyInclusionByName, findPropertyIndex, findPropertyTypeResolver, findReferenceType, findRenameByField, findRootName, findSerializationContentConverter, findSerializationContentType, findSerializationConverter, findSerializationKeyType, findSerializationPropertyOrder, findSerializationSortAlphabetically, findSerializationType, findSerializationTyping, findSerializer, findSetterInfo, 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, findIgnoreUnknownProperties, findPropertiesToIgnore, findSerializationInclusion, findSerializationInclusionForContent, findWrapperName, nopInstance, pair
-
-
-
-
Method Detail
-
findTypeName
public String findTypeName(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
- Overrides:
findTypeNamein classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
findTypeResolver
public com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> findTypeResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedClass ac, com.fasterxml.jackson.databind.JavaType baseType)- Overrides:
findTypeResolverin classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
findSubtypes
public List<com.fasterxml.jackson.databind.jsontype.NamedType> findSubtypes(com.fasterxml.jackson.databind.introspect.Annotated a)
- Overrides:
findSubtypesin classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
findPropertyInclusion
public com.fasterxml.jackson.annotation.JsonInclude.Value findPropertyInclusion(com.fasterxml.jackson.databind.introspect.Annotated a)
- Overrides:
findPropertyInclusionin classcom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
-
-