JavaUtilDateDeserializer.java
package tools.jackson.databind.deser.jdk;
import java.text.DateFormat;
import java.util.Date;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.annotation.JacksonStdImpl;
/**
* Simple deserializer for handling {@link java.util.Date} values.
*<p>
* One way to customize Date formats accepted is to override method
* {@link DeserializationContext#parseDate} that this basic
* deserializer calls.
*/
@JacksonStdImpl
public class JavaUtilDateDeserializer extends DateBasedDeserializer<Date>
{
public final static JavaUtilDateDeserializer instance = new JavaUtilDateDeserializer();
public JavaUtilDateDeserializer() { super(Date.class); }
public JavaUtilDateDeserializer(JavaUtilDateDeserializer base, DateFormat df, String formatString) {
super(base, df, formatString);
}
@Override
protected JavaUtilDateDeserializer withDateFormat(DateFormat df, String formatString) {
return new JavaUtilDateDeserializer(this, df, formatString);
}
@Override // since 2.12
public Object getEmptyValue(DeserializationContext ctxt) {
return new Date(0L);
}
@Override
public java.util.Date deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return _parseDate(p, ctxt);
}
}