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

org.codehaus.jackson.map.deser.std

## Class ThrowableDeserializer

- java.lang.Object
- - org.codehaus.jackson.map.JsonDeserializer<T>
  - - org.codehaus.jackson.map.deser.std.StdDeserializer<Object>
    - - org.codehaus.jackson.map.deser.BeanDeserializer
      - - org.codehaus.jackson.map.deser.std.ThrowableDeserializer

- All Implemented Interfaces:
    ResolvableDeserializer
  Direct Known Subclasses:
    ThrowableDeserializer

      public class ThrowableDeserializer
      extends BeanDeserializer

  Deserializer that builds on basic `BeanDeserializer` but override some aspects like instance construction.

  Note that this deserializer was significantly changed in Jackson 1.7 (due to massive changes in `BeanDeserializer`).

  Since:
    1.9 (renamed from 'org.codehaus.jackson.map.deser.ThrowableDeserializer')

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.codehaus.jackson.map.deser.std.StdDeserializer

      `StdDeserializer.BigDecimalDeserializer, StdDeserializer.BigIntegerDeserializer, StdDeserializer.BooleanDeserializer, StdDeserializer.ByteDeserializer, StdDeserializer.CharacterDeserializer, StdDeserializer.DoubleDeserializer, StdDeserializer.FloatDeserializer, StdDeserializer.IntegerDeserializer, StdDeserializer.LongDeserializer, StdDeserializer.NumberDeserializer, StdDeserializer.PrimitiveOrWrapperDeserializer<T>, StdDeserializer.ShortDeserializer, StdDeserializer.SqlDateDeserializer, StdDeserializer.StackTraceElementDeserializer`

    - ### Nested classes/interfaces inherited from class org.codehaus.jackson.map.JsonDeserializer

      `JsonDeserializer.None`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static String` | `PROP_NAME_MESSAGE`

    - ### Fields inherited from class org.codehaus.jackson.map.deser.BeanDeserializer

      `_anySetter, _backRefs, _beanProperties, _beanType, _delegateDeserializer, _externalTypeIdHandler, _forClass, _ignorableProps, _ignoreAllUnknown, _injectables, _nonStandardCreation, _property, _propertyBasedCreator, _subDeserializers, _unwrappedPropertyHandler, _valueInstantiator`

    - ### Fields inherited from class org.codehaus.jackson.map.deser.std.StdDeserializer

      `_valueClass`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `ThrowableDeserializer(BeanDeserializer baseDeserializer)`
    `protected` | `ThrowableDeserializer(BeanDeserializer src, boolean ignoreAllUnknown)` Alternative constructor used when creating "unwrapping" deserializers

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `deserializeFromObject(JsonParser jp, DeserializationContext ctxt)`
    `JsonDeserializer<Object>` | `unwrappingDeserializer()` Method that will return deserializer instance that is able to handle "unwrapped" value instances If no unwrapped instance can be constructed, will simply return this object as-is.

    - ### Methods inherited from class org.codehaus.jackson.map.deser.BeanDeserializer

      `_deserializeUsingPropertyBased, _findSubclassDeserializer, _resolveInnerClassValuedProperty, _resolveManagedReferenceProperty, _resolveUnwrappedProperty, deserialize, deserialize, deserializeFromArray, deserializeFromBoolean, deserializeFromDouble, deserializeFromNumber, deserializeFromObjectUsingNonDefault, deserializeFromString, deserializeUsingPropertyBasedWithExternalTypeId, deserializeUsingPropertyBasedWithUnwrapped, deserializeWithExternalTypeId, deserializeWithExternalTypeId, deserializeWithType, deserializeWithUnwrapped, deserializeWithUnwrapped, findBackReference, getBeanClass, getPropertyCount, getValueInstantiator, getValueType, handlePolymorphic, handleUnknownProperties, handleUnknownProperty, hasProperty, injectValues, properties, resolve, wrapAndThrow, wrapAndThrow, wrapAndThrow, wrapAndThrow, wrapInstantiationProblem`

    - ### Methods inherited from class org.codehaus.jackson.map.deser.std.StdDeserializer

      `_parseBoolean, _parseBooleanFromNumber, _parseBooleanPrimitive, _parseByte, _parseDate, _parseDouble, _parseDoublePrimitive, _parseFloat, _parseFloatPrimitive, _parseInteger, _parseIntPrimitive, _parseLong, _parseLongPrimitive, _parseShort, _parseShortPrimitive, findDeserializer, getValueClass, isDefaultSerializer, parseDouble, reportUnknownProperty`

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

      `getEmptyValue, getNullValue`

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

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

- - ### Field Detail

    - #### PROP_NAME_MESSAGE

          protected static final String PROP_NAME_MESSAGE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ThrowableDeserializer

          public ThrowableDeserializer(BeanDeserializer baseDeserializer)

    - #### ThrowableDeserializer

          protected ThrowableDeserializer(BeanDeserializer src,
                               boolean ignoreAllUnknown)

      Alternative constructor used when creating "unwrapping" deserializers
      Since:
        1.9

  - ### Method Detail

    - #### unwrappingDeserializer

          public JsonDeserializer<Object> unwrappingDeserializer()

      Description copied from class: `JsonDeserializer`
      Method that will return deserializer instance that is able to handle "unwrapped" value instances If no unwrapped instance can be constructed, will simply return this object as-is.

      Default implementation just returns 'this' indicating that no unwrapped variant exists

      Overrides:
        `unwrappingDeserializer` in class `BeanDeserializer`

    - #### deserializeFromObject

          public Object deserializeFromObject(JsonParser jp,
                                     DeserializationContext ctxt)
                                       throws IOException,
                                              JsonProcessingException

      Overrides:
        `deserializeFromObject` in class `BeanDeserializer`
      Throws:
        `IOException`
        `JsonProcessingException`