Package com.facebook.presto.jdbc.internal.jackson.datatype.joda.deser

Source Code of com.facebook.presto.jdbc.internal.jackson.datatype.joda.deser.YearMonthDeserializer

package com.facebook.presto.jdbc.internal.jackson.datatype.joda.deser;

import java.io.IOException;

import com.facebook.presto.jdbc.internal.joda.time.YearMonth;

import com.facebook.presto.jdbc.internal.jackson.core.JsonParser;
import com.facebook.presto.jdbc.internal.jackson.core.JsonToken;
import com.facebook.presto.jdbc.internal.jackson.databind.DeserializationContext;

/**
* A Jackson deserializer for Joda YearMonth objects.
* <p>
* Expects a string value compatible with YearMonth's parse operation.
*/
public class YearMonthDeserializer extends JodaDeserializerBase<YearMonth>
{

    private static final long serialVersionUID = -3830851040664795250L;

    public YearMonthDeserializer()
    {
        super(YearMonth.class);
    }

    @Override
    public YearMonth deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException
    {
        JsonToken t = jp.getCurrentToken();
        if (t == JsonToken.VALUE_STRING)
        {
            String str = jp.getText().trim();
            if (str.isEmpty())
            {
                return null;
            }
            return YearMonth.parse(str);
        }
        throw ctxt.wrongTokenException(jp, JsonToken.VALUE_STRING, "expected JSON String");
    }

}
TOP

Related Classes of com.facebook.presto.jdbc.internal.jackson.datatype.joda.deser.YearMonthDeserializer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.