Class TypeIdResolverBase
- java.lang.Object
-
- com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
-
- All Implemented Interfaces:
TypeIdResolver
- Direct Known Subclasses:
ClassNameIdResolver,TypeNameIdResolver
public abstract class TypeIdResolverBase extends Object implements TypeIdResolver
Partial base implementation ofTypeIdResolver: all custom implementations are strongly recommended to extend this class, instead of directly implementingTypeIdResolver. Note that ALL sub-class need to re-implementtypeFromId(DatabindContext, String)method; otherwise implementation will not work.Note that instances created to be constructed from annotations (
JsonTypeIdResolver) are always created using no-arguments constructor; protected constructor is only used sub-classes.
-
-
Field Summary
Fields Modifier and Type Field Description protected JavaType_baseTypeCommon base type for all polymorphic instances handled.protected TypeFactory_typeFactory
-
Constructor Summary
Constructors Modifier Constructor Description protectedTypeIdResolverBase()protectedTypeIdResolverBase(JavaType baseType, TypeFactory typeFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetDescForKnownTypeIds()Helper method used to get a simple description of all known type ids, for use in error messages.StringidFromBaseType()Method that can be called to figure out type id to use for instances of base type (declared type of property).voidinit(JavaType bt)Method that will be called once before any type resolution calls; used to initialize instance with configuration.JavaTypetypeFromId(DatabindContext context, String id)Method called to resolve type from given type identifier.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.fasterxml.jackson.databind.jsontype.TypeIdResolver
getMechanism, idFromValue, idFromValueAndType
-
-
-
-
Field Detail
-
_typeFactory
protected final TypeFactory _typeFactory
-
_baseType
protected final JavaType _baseType
Common base type for all polymorphic instances handled.
-
-
Constructor Detail
-
TypeIdResolverBase
protected TypeIdResolverBase()
-
TypeIdResolverBase
protected TypeIdResolverBase(JavaType baseType, TypeFactory typeFactory)
-
-
Method Detail
-
init
public void init(JavaType bt)
Description copied from interface:TypeIdResolverMethod 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.- Specified by:
initin interfaceTypeIdResolver- Parameters:
bt- Base type for which this id resolver instance is used
-
idFromBaseType
public String idFromBaseType()
Description copied from interface:TypeIdResolverMethod that can be called to figure out type id to use for instances of base type (declared type of property). This is usually only used for fallback handling, for cases where real type information is not available for some reason.- Specified by:
idFromBaseTypein interfaceTypeIdResolver
-
typeFromId
public JavaType typeFromId(DatabindContext context, String id) throws IOException
Description copied from interface:TypeIdResolverMethod called to resolve type from given type identifier.- Specified by:
typeFromIdin interfaceTypeIdResolver- Throws:
IOException
-
getDescForKnownTypeIds
public String getDescForKnownTypeIds()
Helper method used to get a simple description of all known type ids, for use in error messages.- Specified by:
getDescForKnownTypeIdsin interfaceTypeIdResolver
-
-