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

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

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

import com.facebook.presto.jdbc.internal.jackson.core.JsonParser;
import com.facebook.presto.jdbc.internal.jackson.core.JsonProcessingException;
import com.facebook.presto.jdbc.internal.jackson.databind.DeserializationContext;
import com.facebook.presto.jdbc.internal.joda.time.Interval;

import java.io.IOException;

/**
* @author jkolobok
*/
public class IntervalDeserializer  extends JodaDeserializerBase<Interval> {

    public IntervalDeserializer() {
        super(Interval.class);
    }

    @Override
    public Interval deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
        switch (jsonParser.getCurrentToken()) {

            case VALUE_STRING:
               String v = jsonParser.getText();
                int dashIndex = v.indexOf('-');
                long start = Long.valueOf(v.substring(0, dashIndex));
                long end = Long.valueOf(v.substring(dashIndex + 1));
                return new Interval(start, end);
        }
        throw deserializationContext.mappingException("expected JSON String");
    }
}
TOP

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

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.