public class StdKeyDeserializer extends KeyDeserializer implements Serializable
KeyDeserializer
implementation used for most Map
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).KeyDeserializer.None
Modifier and Type | Field and Description |
---|---|
protected FromStringDeserializer<?> |
_deser
Some types that are deserialized using a helper deserializer.
|
protected Class<?> |
_keyClass |
protected int |
_kind |
static int |
TYPE_BOOLEAN |
static int |
TYPE_BYTE |
static int |
TYPE_BYTE_ARRAY |
static int |
TYPE_CALENDAR |
static int |
TYPE_CHAR |
static int |
TYPE_CLASS |
static int |
TYPE_CURRENCY |
static int |
TYPE_DATE |
static int |
TYPE_DOUBLE |
static int |
TYPE_FLOAT |
static int |
TYPE_INT |
static int |
TYPE_LOCALE |
static int |
TYPE_LONG |
static int |
TYPE_SHORT |
static int |
TYPE_URI |
static int |
TYPE_URL |
static int |
TYPE_UUID |
Modifier | Constructor and Description |
---|---|
protected |
StdKeyDeserializer(int kind,
Class<?> cls) |
protected |
StdKeyDeserializer(int kind,
Class<?> cls,
FromStringDeserializer<?> deser) |
Modifier and Type | Method and Description |
---|---|
protected Object |
_parse(String key,
DeserializationContext ctxt) |
protected double |
_parseDouble(String key) |
protected int |
_parseInt(String key) |
protected long |
_parseLong(String key) |
protected Object |
_weirdKey(DeserializationContext ctxt,
String key,
Exception e) |
Object |
deserializeKey(String key,
DeserializationContext ctxt)
Method called to deserialize a
Map key from JSON property name. |
static StdKeyDeserializer |
forType(Class<?> raw) |
Class<?> |
getKeyClass() |
public static final int TYPE_BOOLEAN
public static final int TYPE_BYTE
public static final int TYPE_SHORT
public static final int TYPE_CHAR
public static final int TYPE_INT
public static final int TYPE_LONG
public static final int TYPE_FLOAT
public static final int TYPE_DOUBLE
public static final int TYPE_LOCALE
public static final int TYPE_DATE
public static final int TYPE_CALENDAR
public static final int TYPE_UUID
public static final int TYPE_URI
public static final int TYPE_URL
public static final int TYPE_CLASS
public static final int TYPE_CURRENCY
public static final int TYPE_BYTE_ARRAY
protected final int _kind
protected final Class<?> _keyClass
protected final FromStringDeserializer<?> _deser
protected StdKeyDeserializer(int kind, Class<?> cls)
protected StdKeyDeserializer(int kind, Class<?> cls, FromStringDeserializer<?> deser)
public static StdKeyDeserializer forType(Class<?> raw)
public Object deserializeKey(String key, DeserializationContext ctxt) throws IOException
KeyDeserializer
Map
key from JSON property name.deserializeKey
in class KeyDeserializer
IOException
public Class<?> getKeyClass()
protected Object _parse(String key, DeserializationContext ctxt) throws Exception
Exception
protected int _parseInt(String key) throws IllegalArgumentException
IllegalArgumentException
protected long _parseLong(String key) throws IllegalArgumentException
IllegalArgumentException
protected double _parseDouble(String key) throws IllegalArgumentException
IllegalArgumentException
protected Object _weirdKey(DeserializationContext ctxt, String key, Exception e) throws IOException
IOException
Copyright © 2008–2020 FasterXML. All rights reserved.