com.fasterxml.jackson.databind.exc.InvalidFormatException Maven / Gradle / Ivy
The newest version!
package com.fasterxml.jackson.databind.exc;
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.core.JsonParser;
/**
* Specialized sub-class of {@link MismatchedInputException}
* that is used when the underlying problem appears to be that
* of bad formatting of a value to deserialize.
*
* @since 2.1
*/
public class InvalidFormatException
extends MismatchedInputException // since 2.9
{
private static final long serialVersionUID = 1L; // silly Eclipse, warnings
/**
* Underlying value that could not be deserialized into
* target type, if available.
*/
protected final Object _value;
/*
/**********************************************************
/* Life-cycle
/**********************************************************
*/
/**
* @deprecated Since 2.7 Use variant that takes {@link JsonParser}
*/
@Deprecated // since 2.7
public InvalidFormatException(String msg,
Object value, Class> targetType)
{
super(null, msg);
_value = value;
_targetType = targetType;
}
/**
* @deprecated Since 2.7 Use variant that takes {@link JsonParser}
*/
@Deprecated // since 2.7
public InvalidFormatException(String msg, JsonLocation loc,
Object value, Class> targetType)
{
super(null, msg, loc);
_value = value;
_targetType = targetType;
}
/**
* @since 2.7
*/
public InvalidFormatException(JsonParser p,
String msg, Object value, Class> targetType)
{
super(p, msg, targetType);
_value = value;
}
public static InvalidFormatException from(JsonParser p, String msg,
Object value, Class> targetType)
{
return new InvalidFormatException(p, msg, value, targetType);
}
/*
/**********************************************************
/* Additional accessors
/**********************************************************
*/
/**
* Accessor for checking source value (String, Number usually) that could not
* be deserialized into target type ({@link #getTargetType}).
* Note that value may not be available, depending on who throws the exception
* and when.
*/
public Object getValue() {
return _value;
}
}