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

org.codehaus.jackson.map

## Class JsonMappingException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.io.IOException
      - - org.codehaus.jackson.JsonProcessingException
        - - org.codehaus.jackson.map.JsonMappingException

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    UnrecognizedPropertyException

      public class JsonMappingException
      extends JsonProcessingException

  Checked exception used to signal fatal problems with mapping of content.

  One additional feature is the ability to denote relevant path of references (during serialization/deserialization) to help in troubleshooting.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `JsonMappingException.Reference` Simple bean class used to contain references.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected LinkedList<JsonMappingException.Reference>` | `_path` Path through which problem that triggering throwing of this exception was reached.

    - ### Fields inherited from class org.codehaus.jackson.JsonProcessingException

      `mLocation`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsonMappingException(String msg)`
    `JsonMappingException(String msg, JsonLocation loc)`
    `JsonMappingException(String msg, JsonLocation loc, Throwable rootCause)`
    `JsonMappingException(String msg, Throwable rootCause)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `_appendPathDesc(StringBuilder sb)`
    `static JsonMappingException` | `from(JsonParser jp, String msg)`
    `static JsonMappingException` | `from(JsonParser jp, String msg, Throwable problem)`
    `String` | `getMessage()` Method is overridden so that we can properly inject description of problem path, if such is defined.
    `List<JsonMappingException.Reference>` | `getPath()`
    `void` | `prependPath(JsonMappingException.Reference r)`
    `void` | `prependPath(Object referrer, int index)` Method called to prepend a reference information in front of current path
    `void` | `prependPath(Object referrer, String fieldName)` Method called to prepend a reference information in front of current path
    `String` | `toString()`
    `static JsonMappingException` | `wrapWithPath(Throwable src, JsonMappingException.Reference ref)` Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.
    `static JsonMappingException` | `wrapWithPath(Throwable src, Object refFrom, int index)` Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.
    `static JsonMappingException` | `wrapWithPath(Throwable src, Object refFrom, String refFieldName)` Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.

    - ### Methods inherited from class org.codehaus.jackson.JsonProcessingException

      `getLocation`

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

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace`

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

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

- - ### Field Detail

    - #### _path

          protected LinkedList<JsonMappingException.Reference> _path

      Path through which problem that triggering throwing of this exception was reached.

  - ### Constructor Detail

    - #### JsonMappingException

          public JsonMappingException(String msg)

    - #### JsonMappingException

          public JsonMappingException(String msg,
                              Throwable rootCause)

    - #### JsonMappingException

          public JsonMappingException(String msg,
                              JsonLocation loc)

    - #### JsonMappingException

          public JsonMappingException(String msg,
                              JsonLocation loc,
                              Throwable rootCause)

  - ### Method Detail

    - #### from

          public static JsonMappingException from(JsonParser jp,
                                  String msg)

    - #### from

          public static JsonMappingException from(JsonParser jp,
                                  String msg,
                                  Throwable problem)

    - #### wrapWithPath

          public static JsonMappingException wrapWithPath(Throwable src,
                                          Object refFrom,
                                          String refFieldName)

      Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information. This version of method is called when the reference is through a non-indexed object, such as a Map or POJO/bean.

    - #### wrapWithPath

          public static JsonMappingException wrapWithPath(Throwable src,
                                          Object refFrom,
                                          int index)

      Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information. This version of method is called when the reference is through an index, which happens with arrays and Collections.

    - #### wrapWithPath

          public static JsonMappingException wrapWithPath(Throwable src,
                                          JsonMappingException.Reference ref)

      Method that can be called to either create a new JsonMappingException (if underlying exception is not a JsonMappingException), or augment given exception with given path/reference information.

    - #### getPath

          public List<JsonMappingException.Reference> getPath()

    - #### prependPath

          public void prependPath(Object referrer,
                         String fieldName)

      Method called to prepend a reference information in front of current path

    - #### prependPath

          public void prependPath(Object referrer,
                         int index)

      Method called to prepend a reference information in front of current path

    - #### prependPath

          public void prependPath(JsonMappingException.Reference r)

    - #### getMessage

          public String getMessage()

      Method is overridden so that we can properly inject description of problem path, if such is defined.
      Overrides:
        `getMessage` in class `JsonProcessingException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `JsonProcessingException`

    - #### _appendPathDesc

          protected void _appendPathDesc(StringBuilder sb)