package com.fasterxml.jackson.databind.exc;
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.core.JsonParser;
Specialized sub-class of MismatchedInputException
that is used when the underlying problem appears to be that of bad formatting of a value to deserialize. Since: 2.1
/**
* 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.
/**
* 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 JsonParser
/**
* @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 JsonParser
/**
* @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
/**
* @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 (MismatchedInputException.getTargetType
). Note that value may not be available, depending on who throws the exception and when. /**
* 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;
}
}