com.fasterxml.jackson.databind.jsontype.impl

## Class ClassNameIdResolver

- java.lang.Object
- - com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
  - - com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver

All Implemented Interfaces:
  TypeIdResolver, Serializable

Direct Known Subclasses:
  MinimalClassNameIdResolver

    public class ClassNameIdResolver
    extends TypeIdResolverBase
    implements Serializable

`TypeIdResolver` implementation that converts between fully-qualified Java class names and (JSON) Strings.

See Also:
  Serialized Form

### Field Summary

Fields
`protected Set<String>` `_allowedSubtypes`
`protected PolymorphicTypeValidator` `_subTypeValidator`

### Fields inherited from class com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase

`_baseType, _typeFactory`

### Constructor Summary

Constructors
`protected` `ClassNameIdResolver(JavaType baseType, TypeFactory typeFactory)` Deprecated. Since 2.10 use variant that takes `PolymorphicTypeValidator`
`` `ClassNameIdResolver(JavaType baseType, TypeFactory typeFactory, Collection<NamedType> subtypes, PolymorphicTypeValidator ptv)`
`` `ClassNameIdResolver(JavaType baseType, TypeFactory typeFactory, PolymorphicTypeValidator ptv)` Deprecated. Since 2.19 use variant that takes `Collection<NamedType>`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`protected String` `_idFrom(Object value, Class<?> cls, TypeFactory typeFactory)`
`protected JavaType` `_typeFromId(String id, DatabindContext ctxt)`
`static ClassNameIdResolver` `construct(JavaType baseType, MapperConfig<?> config, Collection<NamedType> subtypes, PolymorphicTypeValidator ptv)`
`static ClassNameIdResolver` `construct(JavaType baseType, MapperConfig<?> config, PolymorphicTypeValidator ptv)` Deprecated. since 2.19
`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.
`String` `idFromValue(Object value)` Method called to serialize type of the type of given value as a String to include in serialized JSON content.
`String` `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.
`void` `registerSubtype(Class<?> type, String name)` Deprecated.
`JavaType` `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

`_resolveToParentAsNecessary, idFromBaseType, init`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### _subTypeValidator

    protected final PolymorphicTypeValidator _subTypeValidator

#### _allowedSubtypes

    protected final Set<String> _allowedSubtypes

Since:
  2.19 (to support `DeserializationFeature.FAIL_ON_SUBTYPE_CLASS_NOT_REGISTERED`)

### Constructor Detail

#### ClassNameIdResolver

    @Deprecated
    protected ClassNameIdResolver(JavaType baseType,
                                              TypeFactory typeFactory)

Deprecated. Since 2.10 use variant that takes `PolymorphicTypeValidator`

#### ClassNameIdResolver

    @Deprecated
    public ClassNameIdResolver(JavaType baseType,
                                           TypeFactory typeFactory,
                                           PolymorphicTypeValidator ptv)

Deprecated. Since 2.19 use variant that takes `Collection<NamedType>`

Since:
  2.10

#### ClassNameIdResolver

    public ClassNameIdResolver(JavaType baseType,
                               TypeFactory typeFactory,
                               Collection<NamedType> subtypes,
                               PolymorphicTypeValidator ptv)

Since:
  2.19

### Method Detail

#### construct

    @Deprecated
    public static ClassNameIdResolver construct(JavaType baseType,
                                                            MapperConfig<?> config,
                                                            PolymorphicTypeValidator ptv)

Deprecated. since 2.19

#### construct

    public static ClassNameIdResolver construct(JavaType baseType,
                                                MapperConfig<?> config,
                                                Collection<NamedType> subtypes,
                                                PolymorphicTypeValidator ptv)

Since:
  2.19

#### 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 interface `TypeIdResolver`

#### registerSubtype

    @Deprecated
    public void registerSubtype(Class<?> type,
                                            String name)

Deprecated.

#### idFromValue

    public String idFromValue(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.

Specified by:
  `idFromValue` in interface `TypeIdResolver`

#### idFromValueAndType

    public String idFromValueAndType(Object value,
                                     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.

Specified by:
  `idFromValueAndType` in interface `TypeIdResolver`

#### 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 interface `TypeIdResolver`
Overrides:
  `typeFromId` in class `TypeIdResolverBase`
Throws:
  `IOException`

#### _typeFromId

    protected JavaType _typeFromId(String id,
                                   DatabindContext ctxt)
                            throws IOException

Throws:
  `IOException`

#### _idFrom

    protected String _idFrom(Object value,
                             Class<?> cls,
                             TypeFactory typeFactory)

#### getDescForKnownTypeIds

    public 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 interface `TypeIdResolver`
Overrides:
  `getDescForKnownTypeIds` in class `TypeIdResolverBase`