Class TypeNameIdResolver
- java.lang.Object
-
- com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
-
- com.fasterxml.jackson.databind.jsontype.impl.TypeNameIdResolver
-
- All Implemented Interfaces:
TypeIdResolver
public class TypeNameIdResolver extends TypeIdResolverBase
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
_caseInsensitive
protected MapperConfig<?>
_config
protected java.util.Map<java.lang.String,JavaType>
_idToType
Mappings from type id to JavaType, used for deserialization.protected java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.String>
_typeToId
Mappings from class name to type id, used for serialization.-
Fields inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
_baseType, _typeFactory
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TypeNameIdResolver(MapperConfig<?> config, JavaType baseType, java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.String> typeToId, java.util.HashMap<java.lang.String,JavaType> idToType)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.lang.String
_defaultTypeId(java.lang.Class<?> cls)
If no name was explicitly given for a class, we will just use non-qualified class nameprotected JavaType
_typeFromId(java.lang.String id)
static TypeNameIdResolver
construct(MapperConfig<?> config, JavaType baseType, java.util.Collection<NamedType> subtypes, boolean forSer, boolean forDeser)
java.lang.String
getDescForKnownTypeIds()
Helper method used to get a simple description of all known type ids, for use in error messages.com.fasterxml.jackson.annotation.JsonTypeInfo.Id
getMechanism()
Accessor for mechanism that this resolver uses for determining type id from type.protected java.lang.String
idFromClass(java.lang.Class<?> clazz)
java.lang.String
idFromValue(java.lang.Object value)
Method called to serialize type of the type of given value as a String to include in serialized JSON content.java.lang.String
idFromValueAndType(java.lang.Object value, java.lang.Class<?> type)
Alternative method used for determining type from combination of value and type, using suggested type (that serializer provides) and possibly value of that type.java.lang.String
toString()
JavaType
typeFromId(DatabindContext context, java.lang.String id)
Method called to resolve type from given type identifier.-
Methods inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
idFromBaseType, init
-
-
-
-
Field Detail
-
_config
protected final MapperConfig<?> _config
-
_typeToId
protected final java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.String> _typeToId
Mappings from class name to type id, used for serialization.Since lazily constructed will require synchronization (either internal by type, or external)
-
_idToType
protected final java.util.Map<java.lang.String,JavaType> _idToType
Mappings from type id to JavaType, used for deserialization.Eagerly constructed, not modified, can use regular unsynchronized
Map
.
-
_caseInsensitive
protected final boolean _caseInsensitive
- Since:
- 2.11
-
-
Constructor Detail
-
TypeNameIdResolver
protected TypeNameIdResolver(MapperConfig<?> config, JavaType baseType, java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.String> typeToId, java.util.HashMap<java.lang.String,JavaType> idToType)
-
-
Method Detail
-
construct
public static TypeNameIdResolver construct(MapperConfig<?> config, JavaType baseType, java.util.Collection<NamedType> subtypes, boolean forSer, boolean forDeser)
-
getMechanism
public com.fasterxml.jackson.annotation.JsonTypeInfo.Id getMechanism()
Description copied from interface:TypeIdResolver
Accessor for mechanism that this resolver uses for determining type id from type. Mostly informational; not required to be called or used.
-
idFromValue
public java.lang.String idFromValue(java.lang.Object value)
Description copied from interface:TypeIdResolver
Method called to serialize type of the type of given value as a String to include in serialized JSON content.
-
idFromClass
protected java.lang.String idFromClass(java.lang.Class<?> clazz)
-
idFromValueAndType
public java.lang.String idFromValueAndType(java.lang.Object value, java.lang.Class<?> type)
Description copied from interface:TypeIdResolver
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.
-
typeFromId
public JavaType typeFromId(DatabindContext context, java.lang.String id)
Description copied from interface:TypeIdResolver
Method called to resolve type from given type identifier.- Specified by:
typeFromId
in interfaceTypeIdResolver
- Overrides:
typeFromId
in classTypeIdResolverBase
-
_typeFromId
protected JavaType _typeFromId(java.lang.String id)
-
getDescForKnownTypeIds
public java.lang.String getDescForKnownTypeIds()
Description copied from class:TypeIdResolverBase
Helper method used to get a simple description of all known type ids, for use in error messages.- Specified by:
getDescForKnownTypeIds
in interfaceTypeIdResolver
- Overrides:
getDescForKnownTypeIds
in classTypeIdResolverBase
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
_defaultTypeId
protected static java.lang.String _defaultTypeId(java.lang.Class<?> cls)
If no name was explicitly given for a class, we will just use non-qualified class name
-
-