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.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getDescForKnownTypeIds()
Helper method used to get a simple description of all known type ids, for use in error messages.String
idFromBaseType()
Method that can be called to figure out type id to use for instances of base type (declared type of property).void
init(JavaType bt)
Method that will be called once before any type resolution calls; used to initialize instance with configuration.JavaType
typeFromId(DatabindContext context, String id)
Method called to resolve type from given type identifier.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.fasterxml.jackson.databind.jsontype.TypeIdResolver
getMechanism, idFromValue, idFromValueAndType
-
-
-
-
Method Detail
-
init
public void init(JavaType bt)
Description copied from interface:TypeIdResolver
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.- Specified by:
init
in interfaceTypeIdResolver
- Parameters:
bt
- Base type for which this id resolver instance is used
-
idFromBaseType
public String idFromBaseType()
Description copied from interface:TypeIdResolver
Method 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:
idFromBaseType
in interfaceTypeIdResolver
-
typeFromId
public JavaType typeFromId(DatabindContext context, String id) throws IOException
Description copied from interface:TypeIdResolver
Method called to resolve type from given type identifier.- Specified by:
typeFromId
in 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:
getDescForKnownTypeIds
in interfaceTypeIdResolver
-
-