Interface TypeIdResolver
- All Known Implementing Classes:
ClassNameIdResolver
,MinimalClassNameIdResolver
,TypeIdResolverBase
,TypeNameIdResolver
public interface TypeIdResolver
Interface that defines standard API for converting types
to type identifiers and vice versa. Used by type resolvers
(
TypeSerializer
,
TypeDeserializer
) for converting
between type and matching id; id is stored in JSON and needed for
creating instances of proper subtypes when deserializing values.- Since:
- 1.5
-
Method Summary
Modifier and TypeMethodDescriptionAccessor for mechanism that this resolver uses for determining type id from type.idFromValue
(Object value) Method called to serialize type of the type of given value as a String to include in serialized JSON content.idFromValueAndType
(Object value, Class<?> suggestedType) Alternative method used for determining type from combination of value and type, using suggested type (that serializer provides) and possibly value of that type.void
Method that will be called once before any type resolution calls; used to initialize instance with configuration.typeFromId
(String id) Method called to resolve type from given type identifier.
-
Method Details
-
init
Method that will be called once before any type resolution calls; used to initialize instance with configuration. This is necessary since instances may be created via reflection, without ability to call specific constructor to pass in configuration settings.- Parameters:
baseType
- Base type for which this id resolver instance is used
-
idFromValue
Method called to serialize type of the type of given value as a String to include in serialized JSON content. -
idFromValueAndType
Alternative method used for determining type from combination of value and type, using suggested type (that serializer provides) and possibly value of that type. Most common implementation will use suggested type as is.- Since:
- 1.8
-
typeFromId
Method called to resolve type from given type identifier. -
getMechanism
JsonTypeInfo.Id getMechanism()Accessor for mechanism that this resolver uses for determining type id from type. Mostly informational; not required to be called or used.
-