com.facebook.presto.jdbc.internal.jackson.databind.exc.ValueInstantiationException Maven / Gradle / Ivy
package com.facebook.presto.jdbc.internal.jackson.databind.exc;
import com.facebook.presto.jdbc.internal.jackson.core.JsonParser;
import com.facebook.presto.jdbc.internal.jackson.databind.JavaType;
import com.facebook.presto.jdbc.internal.jackson.databind.JsonMappingException;
/**
* Exception type used for generic failures during processing by
* {@link com.facebook.presto.jdbc.internal.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;
}
}