org.codehaus.jackson.map
Class JsonMappingException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.io.IOException
              extended by org.codehaus.jackson.JsonProcessingException
                  extended by org.codehaus.jackson.map.JsonMappingException
All Implemented Interfaces:
Serializable

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
static class JsonMappingException.Reference
          Simple bean class used to contain references.
 
Field Summary
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
JsonMappingException(String msg)
           
JsonMappingException(String msg, JsonLocation loc)
           
JsonMappingException(String msg, JsonLocation loc, Throwable rootCause)
           
JsonMappingException(String msg, Throwable rootCause)
           
 
Method Summary
protected  void _appendPathDesc(StringBuilder sb)
           
protected  LinkedList<JsonMappingException.Reference> _nonNullPath()
           
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
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, 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

_nonNullPath

protected LinkedList<JsonMappingException.Reference> _nonNullPath()

_appendPathDesc

protected void _appendPathDesc(StringBuilder sb)