com.fasterxml.jackson.databind.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 com.!
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 com. will only write type annotations if the configured
TypeIdResolver returns non-null.
Note
com. are actually full-on value deserializers -- all
deserialization logic goes through them (unlike TypeSerializers, which just write the type metadata).
| Modifier and Type | Field and Description |
|---|---|
| private final boolean | |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected TypeIdResolver | |
| public TypeResolverBuilder | Returns: a type resolver builder that reads and writes Ion type annotations, or nulla serialization or deserialization config object config, AnnotatedClass an AnnotatedClass representing a (statically configured) base type for type resolution ac, JavaType a JavaType representing the same class baseType)Overrides com. Provides a |
| protected boolean |
| resolveAllTypes | back to summary |
|---|---|
| private final boolean resolveAllTypes | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides com. | |
| IonAnnotationIntrospector | back to summary |
|---|---|
| public IonAnnotationIntrospector(boolean resolveAllTypes) | |
| defaultIdResolver | back to summary |
|---|---|
| protected TypeIdResolver defaultIdResolver(MapperConfig<?> config, JavaType baseType) | |
| findTypeResolver | back to summary |
|---|---|
| public TypeResolverBuilder Overrides com. Provides a
The AnnotatedClass is enabled for type resolving if either
We look for a TypeIdResolver by checking for a
| |
| shouldResolveType | back to summary |
|---|---|
| protected boolean shouldResolveType(AnnotatedClass ac) | |