StdKeyDeserializer
Date: 2016-12-04

com.fasterxml.jackson.databind.deser.std

## Class StdKeyDeserializer

- java.lang.Object
- - com.fasterxml.jackson.databind.KeyDeserializer
  - - com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer

- All Implemented Interfaces:
    java.io.Serializable

      public class StdKeyDeserializer
      extends KeyDeserializer
      implements java.io.Serializable

  Default `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).
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.KeyDeserializer

      `KeyDeserializer.None`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FromStringDeserializer<?>` | `_deser` Some types that are deserialized using a helper deserializer.
    `protected java.lang.Class<?>` | `_keyClass`
    `protected int` | `_kind`
    `static int` | `TYPE_BOOLEAN`
    `static int` | `TYPE_BYTE`
    `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`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `StdKeyDeserializer(int kind, java.lang.Class<?> cls)`
    `protected` | `StdKeyDeserializer(int kind, java.lang.Class<?> cls, FromStringDeserializer<?> deser)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.Object` | `_parse(java.lang.String key, DeserializationContext ctxt)`
    `protected double` | `_parseDouble(java.lang.String key)`
    `protected int` | `_parseInt(java.lang.String key)`
    `protected long` | `_parseLong(java.lang.String key)`
    `java.lang.Object` | `deserializeKey(java.lang.String key, DeserializationContext ctxt)` Method called to deserialize a `Map` key from JSON property name.
    `static StdKeyDeserializer` | `forType(java.lang.Class<?> raw)`
    `java.lang.Class<?>` | `getKeyClass()`

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

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

- - ### Field Detail

    - #### TYPE_BOOLEAN

          public static final int TYPE_BOOLEAN

      See Also:
        Constant Field Values

    - #### TYPE_BYTE

          public static final int TYPE_BYTE

      See Also:
        Constant Field Values

    - #### TYPE_SHORT

          public static final int TYPE_SHORT

      See Also:
        Constant Field Values

    - #### TYPE_CHAR

          public static final int TYPE_CHAR

      See Also:
        Constant Field Values

    - #### TYPE_INT

          public static final int TYPE_INT

      See Also:
        Constant Field Values

    - #### TYPE_LONG

          public static final int TYPE_LONG

      See Also:
        Constant Field Values

    - #### TYPE_FLOAT

          public static final int TYPE_FLOAT

      See Also:
        Constant Field Values

    - #### TYPE_DOUBLE

          public static final int TYPE_DOUBLE

      See Also:
        Constant Field Values

    - #### TYPE_LOCALE

          public static final int TYPE_LOCALE

      See Also:
        Constant Field Values

    - #### TYPE_DATE

          public static final int TYPE_DATE

      See Also:
        Constant Field Values

    - #### TYPE_CALENDAR

          public static final int TYPE_CALENDAR

      See Also:
        Constant Field Values

    - #### TYPE_UUID

          public static final int TYPE_UUID

      See Also:
        Constant Field Values

    - #### TYPE_URI

          public static final int TYPE_URI

      See Also:
        Constant Field Values

    - #### TYPE_URL

          public static final int TYPE_URL

      See Also:
        Constant Field Values

    - #### TYPE_CLASS

          public static final int TYPE_CLASS

      See Also:
        Constant Field Values

    - #### TYPE_CURRENCY

          public static final int TYPE_CURRENCY

      See Also:
        Constant Field Values

    - #### _kind

          protected final int _kind

    - #### _keyClass

          protected final java.lang.Class<?> _keyClass

    - #### _deser

          protected final FromStringDeserializer<?> _deser

      Some types that are deserialized using a helper deserializer.

  - ### Constructor Detail

    - #### StdKeyDeserializer

          protected StdKeyDeserializer(int kind,
                            java.lang.Class<?> cls)

    - #### StdKeyDeserializer

          protected StdKeyDeserializer(int kind,
                            java.lang.Class<?> cls,
                            FromStringDeserializer<?> deser)

  - ### Method Detail

    - #### forType

          public static StdKeyDeserializer forType(java.lang.Class<?> raw)

    - #### deserializeKey

          public java.lang.Object deserializeKey(java.lang.String key,
                                        DeserializationContext ctxt)
                                          throws java.io.IOException

      Description copied from class: `KeyDeserializer`
      Method called to deserialize a `Map` key from JSON property name.
      Specified by:
        `deserializeKey` in class `KeyDeserializer`
      Throws:
        `java.io.IOException`

    - #### getKeyClass

          public java.lang.Class<?> getKeyClass()

    - #### _parse

          protected java.lang.Object _parse(java.lang.String key,
                                DeserializationContext ctxt)
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### _parseInt

          protected int _parseInt(java.lang.String key)
                           throws java.lang.IllegalArgumentException

      Throws:
        `java.lang.IllegalArgumentException`

    - #### _parseLong

          protected long _parseLong(java.lang.String key)
                             throws java.lang.IllegalArgumentException

      Throws:
        `java.lang.IllegalArgumentException`

    - #### _parseDouble

          protected double _parseDouble(java.lang.String key)
                                 throws java.lang.IllegalArgumentException

      Throws:
        `java.lang.IllegalArgumentException`