package com.fasterxml.jackson.databind.exc; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonMappingException; /** * Exception type used for generic failures during processing by * {@link com.fasterxml.jackson.databind.deser.ValueInstantiator}: * commonly used to wrap exceptions thrown by constructor or factory * method. *
* Note that this type is sibling of {@link MismatchedInputException} and
* {@link InvalidDefinitionException} since it is not clear if problem is
* with input, or type definition (or possibly neither).
* It is recommended that if either specific input, or type definition problem
* is known, a more accurate exception is used instead.
*
* @since 2.10
*/
@SuppressWarnings("serial")
public class ValueInstantiationException
extends JsonMappingException
{
protected final JavaType _type;
protected ValueInstantiationException(JsonParser p, String msg,
JavaType type, Throwable cause) {
super(p, msg, cause);
_type = type;
}
protected ValueInstantiationException(JsonParser p, String msg,
JavaType type) {
super(p, msg);
_type = type;
}
public static ValueInstantiationException from(JsonParser p, String msg,
JavaType type) {
return new ValueInstantiationException(p, msg, type);
}
public static ValueInstantiationException from(JsonParser p, String msg,
JavaType type, Throwable cause) {
return new ValueInstantiationException(p, msg, type, cause);
}
/**
* Accessor for type fully resolved type that had the problem; this should always
* known and available, never null
*/
public JavaType getType() {
return _type;
}
}