StdDeserializationContext (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.deser

## Class StdDeserializationContext

- java.lang.Object
- - org.codehaus.jackson.map.DeserializationContext
  - - org.codehaus.jackson.map.deser.StdDeserializationContext

-     public class StdDeserializationContext
      extends DeserializationContext

  Default implementation of `DeserializationContext`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ArrayBuilders` | `_arrayBuilders`
    `protected DateFormat` | `_dateFormat`
    `protected DeserializerProvider` | `_deserProvider`
    `protected InjectableValues` | `_injectableValues`
    `protected ObjectBuffer` | `_objectBuffer`
    `protected JsonParser` | `_parser` Currently active parser used for deserialization.

    - ### Fields inherited from class org.codehaus.jackson.map.DeserializationContext

      `_config, _featureFlags`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StdDeserializationContext(DeserializationConfig config, JsonParser jp, DeserializerProvider prov, InjectableValues injectableValues)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `_calcName(Class<?> cls)`
    `protected String` | `_desc(String desc)`
    `protected String` | `_valueDesc()`
    `Calendar` | `constructCalendar(Date d)` Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.
    `protected String` | `determineClassName(Object instance)`
    `Object` | `findInjectableValue(Object valueId, BeanProperty forProperty, Object beanInstance)`
    `ArrayBuilders` | `getArrayBuilders()` Method for accessing object useful for building arrays of primitive types (such as int[]).
    `protected DateFormat` | `getDateFormat()`
    `DeserializerProvider` | `getDeserializerProvider()` Returns provider that can be used for dynamically locating other deserializers during runtime.
    `JsonParser` | `getParser()` Method for accessing the currently active parser.
    `boolean` | `handleUnknownProperty(JsonParser jp, JsonDeserializer<?> deser, Object instanceOrClass, String propName)` Method deserializers can call to inform configured `DeserializationProblemHandler`s of an unrecognized property.
    `JsonMappingException` | `instantiationException(Class<?> instClass, String msg)`
    `JsonMappingException` | `instantiationException(Class<?> instClass, Throwable t)` Helper method for constructing instantiation exception for specified type, to indicate problem with physically constructing instance of specified class (missing constructor, exception from constructor)
    `ObjectBuffer` | `leaseObjectBuffer()` Method that can be used to get access to a reusable ObjectBuffer, useful for efficiently constructing Object arrays and Lists.
    `JsonMappingException` | `mappingException(Class<?> targetClass)` Helper method for constructing generic mapping exception for specified type
    `JsonMappingException` | `mappingException(Class<?> targetClass, JsonToken token)`
    `Date` | `parseDate(String dateStr)` Convenience method for parsing a Date from given String, using currently configured date format (accessed using `MapperConfig.getDateFormat()`).
    `void` | `returnObjectBuffer(ObjectBuffer buf)` Method to call to return object buffer previously leased with `DeserializationContext.leaseObjectBuffer()`.
    `JsonMappingException` | `unknownFieldException(Object instanceOrClass, String fieldName)` Helper method for constructing exception to indicate that JSON Object field name did not map to a known property of type being deserialized.
    `JsonMappingException` | `unknownTypeException(JavaType type, String id)` Helper method for constructing exception to indicate that given type id (parsed from JSON) could not be converted to a Java type.
    `JsonMappingException` | `weirdKeyException(Class<?> keyClass, String keyValue, String msg)` Helper method for constructing exception to indicate that given JSON Object field name was not in format to be able to deserialize specified key type.
    `JsonMappingException` | `weirdNumberException(Class<?> instClass, String msg)` Helper method for constructing exception to indicate that input JSON Number was not suitable for deserializing into given type.
    `JsonMappingException` | `weirdStringException(Class<?> instClass, String msg)` Method that will construct an exception suitable for throwing when some String values are acceptable, but the one encountered is not
    `JsonMappingException` | `wrongTokenException(JsonParser jp, JsonToken expToken, String msg)` Helper method for indicating that the current token was expected to be another token.

    - ### Methods inherited from class org.codehaus.jackson.map.DeserializationContext

      `constructType, getBase64Variant, getConfig, getNodeFactory, getTypeFactory, isEnabled, mappingException`

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

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

- - ### Field Detail

    - #### _parser

          protected JsonParser _parser

      Currently active parser used for deserialization. May be different from the outermost parser when content is buffered.

    - #### _deserProvider

          protected final DeserializerProvider _deserProvider

      Since:
        1.5

    - #### _injectableValues

          protected final InjectableValues _injectableValues

      Since:
        1.9

    - #### _arrayBuilders

          protected ArrayBuilders _arrayBuilders

    - #### _objectBuffer

          protected ObjectBuffer _objectBuffer

    - #### _dateFormat

          protected DateFormat _dateFormat

  - ### Constructor Detail

    - #### StdDeserializationContext

          public StdDeserializationContext(DeserializationConfig config,
                                   JsonParser jp,
                                   DeserializerProvider prov,
                                   InjectableValues injectableValues)

  - ### Method Detail

    - #### getDeserializerProvider

          public DeserializerProvider getDeserializerProvider()

      Description copied from class: `DeserializationContext`
      Returns provider that can be used for dynamically locating other deserializers during runtime.
      Overrides:
        `getDeserializerProvider` in class `DeserializationContext`

    - #### getParser

          public JsonParser getParser()

      Method for accessing the currently active parser. May be different from the outermost parser when content is buffered.

      Use of this method is discouraged: if code has direct access to the active parser, that should be used instead.

      Specified by:
        `getParser` in class `DeserializationContext`

    - #### findInjectableValue

          public Object findInjectableValue(Object valueId,
                                   BeanProperty forProperty,
                                   Object beanInstance)

      Specified by:
        `findInjectableValue` in class `DeserializationContext`

    - #### leaseObjectBuffer

          public final ObjectBuffer leaseObjectBuffer()

      Description copied from class: `DeserializationContext`
      Method that can be used to get access to a reusable ObjectBuffer, useful for efficiently constructing Object arrays and Lists. Note that leased buffers should be returned once deserializer is done, to allow for reuse during same round of deserialization.
      Specified by:
        `leaseObjectBuffer` in class `DeserializationContext`

    - #### returnObjectBuffer

          public final void returnObjectBuffer(ObjectBuffer buf)

      Description copied from class: `DeserializationContext`
      Method to call to return object buffer previously leased with `DeserializationContext.leaseObjectBuffer()`.
      Specified by:
        `returnObjectBuffer` in class `DeserializationContext`
      Parameters:
        `buf` - Returned object buffer

    - #### getArrayBuilders

          public final ArrayBuilders getArrayBuilders()

      Description copied from class: `DeserializationContext`
      Method for accessing object useful for building arrays of primitive types (such as int[]).
      Specified by:
        `getArrayBuilders` in class `DeserializationContext`

    - #### parseDate

          public Date parseDate(String dateStr)
                         throws IllegalArgumentException

      Description copied from class: `DeserializationContext`
      Convenience method for parsing a Date from given String, using currently configured date format (accessed using `MapperConfig.getDateFormat()`).

      Implementation will handle thread-safety issues related to date formats such that first time this method is called, date format is cloned, and cloned instance will be retained for use during this deserialization round.

      Specified by:
        `parseDate` in class `DeserializationContext`
      Throws:
        `IllegalArgumentException`

    - #### constructCalendar

          public Calendar constructCalendar(Date d)

      Description copied from class: `DeserializationContext`
      Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.
      Specified by:
        `constructCalendar` in class `DeserializationContext`

    - #### handleUnknownProperty

          public boolean handleUnknownProperty(JsonParser jp,
                                      JsonDeserializer<?> deser,
                                      Object instanceOrClass,
                                      String propName)
                                        throws IOException,
                                               JsonProcessingException

      Method deserializers can call to inform configured `DeserializationProblemHandler`s of an unrecognized property.
      Specified by:
        `handleUnknownProperty` in class `DeserializationContext`
      Returns:
        True if there was a configured problem handler that was able to handle the proble
      Throws:
        `IOException`
        `JsonProcessingException`
      Since:
        1.5

    - #### mappingException

          public JsonMappingException mappingException(Class<?> targetClass)

      Description copied from class: `DeserializationContext`
      Helper method for constructing generic mapping exception for specified type
      Specified by:
        `mappingException` in class `DeserializationContext`

    - #### mappingException

          public JsonMappingException mappingException(Class<?> targetClass,
                                              JsonToken token)

      Specified by:
        `mappingException` in class `DeserializationContext`

    - #### instantiationException

          public JsonMappingException instantiationException(Class<?> instClass,
                                                    Throwable t)

      Description copied from class: `DeserializationContext`
      Helper method for constructing instantiation exception for specified type, to indicate problem with physically constructing instance of specified class (missing constructor, exception from constructor)
      Specified by:
        `instantiationException` in class `DeserializationContext`

    - #### instantiationException

          public JsonMappingException instantiationException(Class<?> instClass,
                                                    String msg)

      Specified by:
        `instantiationException` in class `DeserializationContext`

    - #### weirdStringException

          public JsonMappingException weirdStringException(Class<?> instClass,
                                                  String msg)

      Method that will construct an exception suitable for throwing when some String values are acceptable, but the one encountered is not
      Specified by:
        `weirdStringException` in class `DeserializationContext`

    - #### weirdNumberException

          public JsonMappingException weirdNumberException(Class<?> instClass,
                                                  String msg)

      Description copied from class: `DeserializationContext`
      Helper method for constructing exception to indicate that input JSON Number was not suitable for deserializing into given type.
      Specified by:
        `weirdNumberException` in class `DeserializationContext`

    - #### weirdKeyException

          public JsonMappingException weirdKeyException(Class<?> keyClass,
                                               String keyValue,
                                               String msg)

      Description copied from class: `DeserializationContext`
      Helper method for constructing exception to indicate that given JSON Object field name was not in format to be able to deserialize specified key type.
      Specified by:
        `weirdKeyException` in class `DeserializationContext`

    - #### wrongTokenException

          public JsonMappingException wrongTokenException(JsonParser jp,
                                                 JsonToken expToken,
                                                 String msg)

      Description copied from class: `DeserializationContext`
      Helper method for indicating that the current token was expected to be another token.
      Specified by:
        `wrongTokenException` in class `DeserializationContext`

    - #### unknownFieldException

          public JsonMappingException unknownFieldException(Object instanceOrClass,
                                                   String fieldName)

      Description copied from class: `DeserializationContext`
      Helper method for constructing exception to indicate that JSON Object field name did not map to a known property of type being deserialized.
      Specified by:
        `unknownFieldException` in class `DeserializationContext`
      Parameters:
        `instanceOrClass` - Either value being populated (if one has been instantiated), or Class that indicates type that would be (or have been) instantiated

    - #### unknownTypeException

          public JsonMappingException unknownTypeException(JavaType type,
                                                  String id)

      Description copied from class: `DeserializationContext`
      Helper method for constructing exception to indicate that given type id (parsed from JSON) could not be converted to a Java type.
      Specified by:
        `unknownTypeException` in class `DeserializationContext`

    - #### getDateFormat

          protected DateFormat getDateFormat()

    - #### determineClassName

          protected String determineClassName(Object instance)

    - #### _calcName

          protected String _calcName(Class<?> cls)

    - #### _valueDesc

          protected String _valueDesc()

    - #### _desc

          protected String _desc(String desc)