tools.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 tools.!
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 tools. will only write type annotations if the configured
TypeIdResolver returns non-null.
Note
tools. 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 static final long |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected TypeIdResolver | |
| protected boolean |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides tools. | |
| IonAnnotationIntrospector | back to summary |
|---|---|
| public IonAnnotationIntrospector(boolean resolveAllTypes) | |
| defaultIdResolver | back to summary |
|---|---|
| protected TypeIdResolver defaultIdResolver(MapperConfig<?> config, JavaType baseType, PolymorphicTypeValidator ptv) | |
| shouldResolveType | back to summary |
|---|---|
| protected boolean shouldResolveType(Annotated ac) | |