All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.prestosql.jdbc.$internal.jackson.datatype.joda.deser.MonthDayDeserializer Maven / Gradle / Ivy

There is a newer version: 350
Show newest version
package io.prestosql.jdbc.$internal.jackson.datatype.joda.deser;

import java.io.IOException;

import io.prestosql.jdbc.$internal.jackson.datatype.joda.cfg.FormatConfig;
import io.prestosql.jdbc.$internal.jackson.datatype.joda.cfg.JacksonJodaDateFormat;
import io.prestosql.jdbc.$internal.joda.time.MonthDay;

import io.prestosql.jdbc.$internal.jackson.core.JsonParser;
import io.prestosql.jdbc.$internal.jackson.core.JsonToken;
import io.prestosql.jdbc.$internal.jackson.databind.DeserializationContext;

/**
 * A Jackson deserializer for Joda MonthDay objects.
 * 

* Expects a string value compatible with MonthDay's parse operation. */ public class MonthDayDeserializer extends JodaDateDeserializerBase { private static final long serialVersionUID = 1L; public MonthDayDeserializer() { this(FormatConfig.DEFAULT_MONTH_DAY_FORMAT); } public MonthDayDeserializer(JacksonJodaDateFormat format) { super(MonthDay.class, format); } @Override public JodaDateDeserializerBase withFormat(JacksonJodaDateFormat format) { return new MonthDayDeserializer(format); } @Override public MonthDay deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException { JsonToken t = p.getCurrentToken(); if (t == JsonToken.VALUE_STRING) { String str = p.getText().trim(); if (str.isEmpty()) { return getNullValue(ctxt); } return MonthDay.parse(str, this._format.createParser(ctxt)); } return (MonthDay) ctxt.handleUnexpectedToken(handledType(), p.getCurrentToken(), p, "expected JSON String"); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy