Class SimpleNameIdResolver
java.lang.Object
com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
com.fasterxml.jackson.databind.jsontype.impl.SimpleNameIdResolver
- All Implemented Interfaces:
TypeIdResolver
,Serializable
TypeIdResolver
implementation
that converts using explicitly (annotation-) specified type names
and maps to implementation classes; or, in absence of annotated type name,
defaults to simple Class
names (obtained with Class.getSimpleName()
.
Basically same as TypeNameIdResolver
except for default to "simple"
and not "full" class name.- Since:
- 2.16
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final boolean
protected final MapperConfig
<?> Mappings from type id to JavaType, used for deserialization.protected final ConcurrentHashMap
<String, String> 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
ConstructorsModifierConstructorDescriptionprotected
SimpleNameIdResolver
(MapperConfig<?> config, JavaType baseType, ConcurrentHashMap<String, String> typeToId, HashMap<String, JavaType> idToType) -
Method Summary
Modifier and TypeMethodDescriptionprotected static String
_defaultTypeId
(Class<?> cls) If no name was explicitly given for a class, we will just use simple class nameprotected JavaType
_typeFromId
(String id) static SimpleNameIdResolver
construct
(MapperConfig<?> config, JavaType baseType, Collection<NamedType> subtypes, boolean forSer, boolean forDeser) Helper method used to get a simple description of all known type ids, for use in error messages.com.fasterxml.jackson.annotation.JsonTypeInfo.Id
Accessor for mechanism that this resolver uses for determining type id from type.protected String
idFromClass
(Class<?> clazz) 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<?> 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.toString()
typeFromId
(DatabindContext context, 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 Details
-
_config
-
_typeToId
Mappings from class name to type id, used for serialization.Since lazily constructed will require synchronization (either internal by type, or external)
-
_idToType
Mappings from type id to JavaType, used for deserialization.Eagerly constructed, not modified, can use regular unsynchronized
Map
. -
_caseInsensitive
protected final boolean _caseInsensitive
-
-
Constructor Details
-
SimpleNameIdResolver
protected SimpleNameIdResolver(MapperConfig<?> config, JavaType baseType, ConcurrentHashMap<String, String> typeToId, HashMap<String, JavaType> idToType)
-
-
Method Details
-
construct
public static SimpleNameIdResolver construct(MapperConfig<?> config, JavaType baseType, 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.- Specified by:
getMechanism
in interfaceTypeIdResolver
-
idFromValue
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.- Specified by:
idFromValue
in interfaceTypeIdResolver
-
idFromClass
-
idFromValueAndType
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.- Specified by:
idFromValueAndType
in interfaceTypeIdResolver
-
typeFromId
Description copied from interface:TypeIdResolver
Method called to resolve type from given type identifier.- Specified by:
typeFromId
in interfaceTypeIdResolver
- Overrides:
typeFromId
in classTypeIdResolverBase
-
_typeFromId
-
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
-
_defaultTypeId
If no name was explicitly given for a class, we will just use simple class name
-