public class IonAnnotationIntrospector
extends com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector
AnnotationIntrospector (essentially an interceptor for
 serializer/deserializer construction) that provides type serializer/deserializers that write/read Ion type
 annotations.
 
 The logic in this class is very similar to JacksonAnnotationIntrospector!
 We both look at the @JsonTypeResolver, etc annotations and try to make type resolvers.
 
 This class adds a resolveAllTypes override, which allows for universal polymorphism without needing
 any annotations or mixins, and also permits top-level polymorphism -- deserialize to any object without providing its
 actual type, as long as type information was serialized. (i.e., ObjectMapper#readValue(serializedData, Object.class))
 
 Note: the provided TypeSerializer will only write type annotations if the configured
 TypeIdResolver returns non-null.
 
 Note: TypeDeserializer are actually full-on value deserializers -- all
 deserialization logic goes through them (unlike TypeSerializers, which just write the type metadata).
 | Constructor and Description | 
|---|
| IonAnnotationIntrospector(boolean resolveAllTypes) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected com.fasterxml.jackson.databind.jsontype.TypeIdResolver | defaultIdResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
                 com.fasterxml.jackson.databind.JavaType baseType) | 
| 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)Provides a  TypeResolverBuilderif theAnnotatedClassis enabled for type resolving, and aTypeIdResolvercan be instantiated. | 
| protected boolean | shouldResolveType(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac) | 
version_findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findAndAddVirtualProperties, findAutoDetectVisibility, findClassDescription, findContentDeserializer, findContentSerializer, findCreatorAnnotation, findCreatorBinding, findDefaultEnumValue, findDeserializationContentConverter, findDeserializationContentType, findDeserializationConverter, findDeserializationKeyType, findDeserializationType, findDeserializer, findEnumValue, findEnumValues, findFilterId, findFormat, findIgnoreUnknownProperties, findImplicitPropertyName, findInjectableValue, findInjectableValueId, findKeyDeserializer, findKeySerializer, findMergeInfo, findNameForDeserialization, findNameForSerialization, findNamingStrategy, findNullSerializer, findObjectIdInfo, findObjectReferenceInfo, findPOJOBuilder, findPOJOBuilderConfig, findPropertiesToIgnore, findPropertiesToIgnore, findPropertyAccess, findPropertyAliases, findPropertyContentTypeResolver, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnorals, findPropertyInclusion, findPropertyIndex, findPropertyTypeResolver, findReferenceType, findRootName, findSerializationContentConverter, findSerializationContentType, findSerializationConverter, findSerializationInclusion, findSerializationInclusionForContent, findSerializationKeyType, findSerializationPropertyOrder, findSerializationSortAlphabetically, findSerializationType, findSerializationTyping, findSerializer, findSetterInfo, findSubtypes, findTypeName, findUnwrappingNameTransformer, findValueInstantiator, findViews, findWrapperName, hasAnyGetter, hasAnyGetterAnnotation, hasAnySetter, hasAnySetterAnnotation, hasAsValue, hasAsValueAnnotation, hasCreatorAnnotation, hasIgnoreMarker, hasRequiredMarker, isAnnotationBundle, isIgnorableType, isTypeId, nopInstance, pair, refineDeserializationType, refineSerializationType, resolveSetterConflictpublic IonAnnotationIntrospector(boolean resolveAllTypes)
protected com.fasterxml.jackson.databind.jsontype.TypeIdResolver defaultIdResolver(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
                                                                       com.fasterxml.jackson.databind.JavaType baseType)
protected boolean shouldResolveType(com.fasterxml.jackson.databind.introspect.AnnotatedClass ac)
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)
TypeResolverBuilder if the AnnotatedClass is enabled for type resolving, and a
 TypeIdResolver can be instantiated.
 
 The AnnotatedClass is enabled for type resolving if either resolveAllTypes is set, or shouldResolveType()
 returns true.
 
 We look for a TypeIdResolver by checking for a JsonTypeIdResolver annotation, and fallback to
 defaultIdResolver().findTypeResolver in class com.fasterxml.jackson.databind.AnnotationIntrospectorconfig - a serialization or deserialization config objectac - an AnnotatedClass representing a (statically configured) base type for type resolutionbaseType - a JavaType representing the same classCopyright © 2017 FasterXML. All rights reserved.