package com.fasterxml.jackson.databind.annotation;
import java.lang.annotation.*;
import com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder;
Annotation that can be used to explicitly define custom resolver
used for handling serialization and deserialization of type information,
needed for handling of polymorphic types (or sometimes just for linking
abstract types to concrete types)
NOTE: since 2.4, applicable to properties as well (should have been long time
ago, but problem only found then)
/**
* Annotation that can be used to explicitly define custom resolver
* used for handling serialization and deserialization of type information,
* needed for handling of polymorphic types (or sometimes just for linking
* abstract types to concrete types)
*<p>
* NOTE: since 2.4, applicable to properties as well (should have been long time
* ago, but problem only found then)
*/
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@com.fasterxml.jackson.annotation.JacksonAnnotation
public @interface JsonTypeResolver
{
Defines implementation class of TypeResolverBuilder
which is used to construct actual TypeDeserializer
and TypeDeserializer
instances that handle reading and writing addition type information needed to support polymorphic deserialization. /**
* Defines implementation class of {@link TypeResolverBuilder} which is used to construct
* actual {@link com.fasterxml.jackson.databind.jsontype.TypeDeserializer} and {@link com.fasterxml.jackson.databind.jsontype.TypeDeserializer}
* instances that handle reading and writing addition type information needed to support polymorphic
* deserialization.
*/
public Class<? extends TypeResolverBuilder<?>> value();
}