Top Description Inners Fields Constructors Methods
tools.jackson.databind.deser.jdk

public Class JDKKeyDeserializer

extends KeyDeserializer
Class Inheritance
Known Direct Subclasses
tools.jackson.databind.deser.jdk.JDKKeyDeserializer.StringKD, tools.jackson.databind.deser.jdk.JDKKeyDeserializer.EnumKD, tools.jackson.databind.deser.jdk.JDKKeyDeserializer.StringCtorKeyDeserializer, tools.jackson.databind.deser.jdk.JDKKeyDeserializer.StringFactoryKeyDeserializer
Annotations
@JacksonStdImpl
Imports
java.io.IOException, .Serializable, java.lang.reflect.Constructor, .Method, java.net.MalformedURLException, .URI, .URL, java.util.*, tools.jackson.core.JacksonException, .JsonParser, tools.jackson.core.io.NumberInput, tools.jackson.databind.*, tools.jackson.databind.annotation.JacksonStdImpl, tools.jackson.databind.cfg.EnumFeature, .MapperConfig, tools.jackson.databind.introspect.AnnotatedClass, .AnnotatedMethod, tools.jackson.databind.util.ClassUtil, .EnumResolver, .TokenBuffer

Default KeyDeserializer implementation used for most java.util.Map key types Jackson supports. Implemented as "chameleon" (or swiss pocket knife) class; not particularly elegant, but helps reduce number of classes and jar size (class metadata adds significant per-class overhead; much more than bytecode).

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
JDKKeyDeserializer.DelegatingKD

Key deserializer that wraps a "regular" deserializer (but one that must recognize FIELD_NAMEs as text!) to reuse existing handlers as key handlers.

pack-priv static class
pack-priv static class
JDKKeyDeserializer.StringCtorKeyDeserializer

Key deserializer that calls a single-string-arg constructor to instantiate desired key type.

pack-priv static class
JDKKeyDeserializer.StringFactoryKeyDeserializer

Key deserializer that calls a static no-args factory method to instantiate desired key type.

pack-priv static class

Field Summary

Modifier and TypeField and Description
protected final JDKFromStringDeserializer
_deser

Some types that are deserialized using a helper deserializer.

protected final Class<?>
protected final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected
JDKKeyDeserializer(int kind, Class<?> cls)

protected

Method Summary

Modifier and TypeMethod and Description
protected Object
protected double
protected int
protected long
protected Object
public Object
deserializeKey(String key, DeserializationContext ctxt)

Implements abstract tools.jackson.databind.KeyDeserializer.deserializeKey.

Method called to deserialize a java.util.Map key from JSON property name.

public static JDKKeyDeserializer
forType(Class<?> raw)

public Class<?>
Inherited from tools.jackson.databind.KeyDeserializer:
resolve

Field Detail

_deserback to summary
protected final JDKFromStringDeserializer _deser

Some types that are deserialized using a helper deserializer.

_keyClassback to summary
protected final Class<?> _keyClass
_kindback to summary
protected final int _kind
TYPE_BOOLEANback to summary
public static final int TYPE_BOOLEAN
TYPE_BYTEback to summary
public static final int TYPE_BYTE
TYPE_BYTE_ARRAYback to summary
public static final int TYPE_BYTE_ARRAY
TYPE_CALENDARback to summary
public static final int TYPE_CALENDAR
TYPE_CHARback to summary
public static final int TYPE_CHAR
TYPE_CLASSback to summary
public static final int TYPE_CLASS
TYPE_CURRENCYback to summary
public static final int TYPE_CURRENCY
TYPE_DATEback to summary
public static final int TYPE_DATE
TYPE_DOUBLEback to summary
public static final int TYPE_DOUBLE
TYPE_FLOATback to summary
public static final int TYPE_FLOAT
TYPE_INTback to summary
public static final int TYPE_INT
TYPE_LOCALEback to summary
public static final int TYPE_LOCALE
TYPE_LONGback to summary
public static final int TYPE_LONG
TYPE_SHORTback to summary
public static final int TYPE_SHORT
TYPE_URIback to summary
public static final int TYPE_URI
TYPE_URLback to summary
public static final int TYPE_URL
TYPE_UUIDback to summary
public static final int TYPE_UUID

Constructor Detail

JDKKeyDeserializerback to summary
protected JDKKeyDeserializer(int kind, Class<?> cls)
JDKKeyDeserializerback to summary
protected JDKKeyDeserializer(int kind, Class<?> cls, JDKFromStringDeserializer deser)

Method Detail

_parseback to summary
protected Object _parse(String key, DeserializationContext ctxt) throws Exception
_parseDoubleback to summary
protected double _parseDouble(String key) throws IllegalArgumentException
_parseIntback to summary
protected int _parseInt(String key) throws IllegalArgumentException
_parseLongback to summary
protected long _parseLong(String key) throws IllegalArgumentException
_weirdKeyback to summary
protected Object _weirdKey(DeserializationContext ctxt, String key, Exception e) throws JacksonException
deserializeKeyback to summary
public Object deserializeKey(String key, DeserializationContext ctxt) throws JacksonException

Implements abstract tools.jackson.databind.KeyDeserializer.deserializeKey.

Doc from tools.jackson.databind.KeyDeserializer.deserializeKey.

Method called to deserialize a java.util.Map key from JSON property name.

Annotations
@Override
forTypeback to summary
public static JDKKeyDeserializer forType(Class<?> raw)
getKeyClassback to summary
public Class<?> getKeyClass()
tools.jackson.databind.deser.jdk back to summary

pack-priv final Class JDKKeyDeserializer.DelegatingKD

extends KeyDeserializer
Class Inheritance

Key deserializer that wraps a "regular" deserializer (but one that must recognize FIELD_NAMEs as text!) to reuse existing handlers as key handlers.

Field Summary

Modifier and TypeField and Description
protected final ValueDeserializer<?>
protected final Class<?>

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public final Object
deserializeKey(String key, DeserializationContext ctxt)

Implements abstract tools.jackson.databind.KeyDeserializer.deserializeKey.

Method called to deserialize a java.util.Map key from JSON property name.

public Class<?>
Inherited from tools.jackson.databind.KeyDeserializer:
resolve

Field Detail

_delegateback to summary
protected final ValueDeserializer<?> _delegate
_keyClassback to summary
protected final Class<?> _keyClass

Constructor Detail

DelegatingKDback to summary
protected DelegatingKD(Class<?> cls, ValueDeserializer<?> deser)

Method Detail

deserializeKeyback to summary
public final Object deserializeKey(String key, DeserializationContext ctxt) throws JacksonException

Implements abstract tools.jackson.databind.KeyDeserializer.deserializeKey.

Doc from tools.jackson.databind.KeyDeserializer.deserializeKey.

Method called to deserialize a java.util.Map key from JSON property name.

Annotations
@SuppressWarnings:resource
@Override
getKeyClassback to summary
public Class<?> getKeyClass()
tools.jackson.databind.deser.jdk back to summary

pack-priv final Class JDKKeyDeserializer.EnumKD

extends JDKKeyDeserializer
Class Inheritance
Annotations
@JacksonStdImpl

Field Summary

Modifier and TypeField and Description
protected final EnumResolver
_byEnumNamingResolver

Look up map with key as Enum.name() converted by EnumNamingStrategy#convertEnumToExternalName(MapperConfig, AnnotatedClass, String) and value as Enums.

protected final EnumResolver
_byIndexResolver

Alternative resolver to parse enums with Enum#ordinal() method as the source.

protected final EnumResolver
protected final EnumResolver
_byToStringResolver

Alternative resolver to parse enums with toString() method as the source.

protected final Enum<?>
protected final AnnotatedMethod
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_deser_keyClass_kindTYPE_BOOLEANTYPE_BYTETYPE_BYTE_ARRAYTYPE_CALENDARTYPE_CHARTYPE_CLASSTYPE_CURRENCYTYPE_DATETYPE_DOUBLETYPE_FLOATTYPE_INTTYPE_LOCALETYPE_LONGTYPE_SHORTTYPE_URITYPE_URLTYPE_UUID

Constructor Summary

AccessConstructor and Description
protected
EnumKD(EnumResolver er, AnnotatedMethod factory, EnumResolver byEnumNamingResolver, EnumResolver byToStringResolver, EnumResolver byIndexResolver)

Method Summary

Modifier and TypeMethod and Description
public Object
protected EnumResolver
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_parseDouble_parseInt_parseLong_weirdKeydeserializeKeyforTypegetKeyClass

Field Detail

_byEnumNamingResolverback to summary
protected final EnumResolver _byEnumNamingResolver

Look up map with key as Enum.name() converted by EnumNamingStrategy#convertEnumToExternalName(MapperConfig, AnnotatedClass, String) and value as Enums.

_byIndexResolverback to summary
protected final EnumResolver _byIndexResolver

Alternative resolver to parse enums with Enum#ordinal() method as the source. Works when EnumFeature#READ_ENUM_KEYS_USING_INDEX is enabled.

_byNameResolverback to summary
protected final EnumResolver _byNameResolver
_byToStringResolverback to summary
protected final EnumResolver _byToStringResolver

Alternative resolver to parse enums with toString() method as the source. Works when EnumFeature#READ_ENUMS_USING_TO_STRING is enabled.

_enumDefaultValueback to summary
protected final Enum<?> _enumDefaultValue
_factoryback to summary
protected final AnnotatedMethod _factory

Constructor Detail

EnumKDback to summary
protected EnumKD(EnumResolver er, AnnotatedMethod factory, EnumResolver byEnumNamingResolver, EnumResolver byToStringResolver, EnumResolver byIndexResolver)

Method Detail

_parseback to summary
public Object _parse(String key, DeserializationContext ctxt) throws JacksonException

Overrides tools.jackson.databind.deser.jdk.JDKKeyDeserializer._parse.

Annotations
@Override
_resolveCurrentResolverback to summary
protected EnumResolver _resolveCurrentResolver(DeserializationContext ctxt)
tools.jackson.databind.deser.jdk back to summary

pack-priv final Class JDKKeyDeserializer.StringCtorKeyDeserializer

extends JDKKeyDeserializer
Class Inheritance

Key deserializer that calls a single-string-arg constructor to instantiate desired key type.

Field Summary

Modifier and TypeField and Description
protected final Constructor<?>
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_deser_keyClass_kindTYPE_BOOLEANTYPE_BYTETYPE_BYTE_ARRAYTYPE_CALENDARTYPE_CHARTYPE_CLASSTYPE_CURRENCYTYPE_DATETYPE_DOUBLETYPE_FLOATTYPE_INTTYPE_LOCALETYPE_LONGTYPE_SHORTTYPE_URITYPE_URLTYPE_UUID

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_parseDouble_parseInt_parseLong_weirdKeydeserializeKeyforTypegetKeyClass

Field Detail

_ctorback to summary
protected final Constructor<?> _ctor

Constructor Detail

StringCtorKeyDeserializerback to summary
public StringCtorKeyDeserializer(Constructor<?> ctor)

Method Detail

_parseback to summary
public Object _parse(String key, DeserializationContext ctxt) throws Exception

Overrides tools.jackson.databind.deser.jdk.JDKKeyDeserializer._parse.

Annotations
@Override
tools.jackson.databind.deser.jdk back to summary

pack-priv final Class JDKKeyDeserializer.StringFactoryKeyDeserializer

extends JDKKeyDeserializer
Class Inheritance

Key deserializer that calls a static no-args factory method to instantiate desired key type.

Field Summary

Modifier and TypeField and Description
pack-priv final Method
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_deser_keyClass_kindTYPE_BOOLEANTYPE_BYTETYPE_BYTE_ARRAYTYPE_CALENDARTYPE_CHARTYPE_CLASSTYPE_CURRENCYTYPE_DATETYPE_DOUBLETYPE_FLOATTYPE_INTTYPE_LOCALETYPE_LONGTYPE_SHORTTYPE_URITYPE_URLTYPE_UUID

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_parseDouble_parseInt_parseLong_weirdKeydeserializeKeyforTypegetKeyClass

Field Detail

_factoryMethodback to summary
pack-priv final Method _factoryMethod

Constructor Detail

StringFactoryKeyDeserializerback to summary
public StringFactoryKeyDeserializer(Method fm)

Method Detail

_parseback to summary
public Object _parse(String key, DeserializationContext ctxt) throws Exception

Overrides tools.jackson.databind.deser.jdk.JDKKeyDeserializer._parse.

Annotations
@Override
tools.jackson.databind.deser.jdk back to summary

pack-priv final Class JDKKeyDeserializer.StringKD

extends JDKKeyDeserializer
Class Inheritance
Annotations
@JacksonStdImpl

Field Summary

Modifier and TypeField and Description
private static final JDKKeyDeserializer.StringKD
private static final JDKKeyDeserializer.StringKD
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_deser_keyClass_kindTYPE_BOOLEANTYPE_BYTETYPE_BYTE_ARRAYTYPE_CALENDARTYPE_CHARTYPE_CLASSTYPE_CURRENCYTYPE_DATETYPE_DOUBLETYPE_FLOATTYPE_INTTYPE_LOCALETYPE_LONGTYPE_SHORTTYPE_URITYPE_URLTYPE_UUID

Constructor Summary

AccessConstructor and Description
private
StringKD(Class<?> nominalType)

Method Summary

Modifier and TypeMethod and Description
public Object
deserializeKey(String key, DeserializationContext ctxt)

Overrides tools.jackson.databind.deser.jdk.JDKKeyDeserializer.deserializeKey.

Method called to deserialize a java.util.Map key from JSON property name.

public static JDKKeyDeserializer.StringKD
Inherited from tools.jackson.databind.deser.jdk.JDKKeyDeserializer:
_parse_parseDouble_parseInt_parseLong_weirdKeygetKeyClass

Field Detail

sObjectback to summary
private static final JDKKeyDeserializer.StringKD sObject
sStringback to summary
private static final JDKKeyDeserializer.StringKD sString

Constructor Detail

StringKDback to summary
private StringKD(Class<?> nominalType)

Method Detail

deserializeKeyback to summary
public Object deserializeKey(String key, DeserializationContext ctxt) throws JacksonException

Overrides tools.jackson.databind.deser.jdk.JDKKeyDeserializer.deserializeKey.

Doc from tools.jackson.databind.KeyDeserializer.deserializeKey.

Method called to deserialize a java.util.Map key from JSON property name.

Annotations
@Override
forTypeback to summary
public static JDKKeyDeserializer.StringKD forType(Class<?> nominalType)

Hides tools.jackson.databind.deser.jdk.JDKKeyDeserializer.forType.