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

io.prestosql.jdbc.$internal.jackson.datatype.joda.ser.YearMonthSerializer Maven / Gradle / Ivy

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

import io.prestosql.jdbc.$internal.jackson.core.*;
import io.prestosql.jdbc.$internal.jackson.databind.SerializationFeature;
import io.prestosql.jdbc.$internal.jackson.databind.SerializerProvider;
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.YearMonth;

import java.io.IOException;

public class YearMonthSerializer extends JodaDateSerializerBase
{
    private static final long serialVersionUID = 1L;

    public YearMonthSerializer() { this(FormatConfig.DEFAULT_YEAR_MONTH_FORMAT, 0); }
    public YearMonthSerializer(JacksonJodaDateFormat format) {
        this(format, 0);
    }
    public YearMonthSerializer(JacksonJodaDateFormat format,
                               int shapeOverride) {
        super(YearMonth.class, format, SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,
                FORMAT_STRING, shapeOverride);
    }



    @Override
    public YearMonthSerializer withFormat(JacksonJodaDateFormat formatter,
                                          int shapeOverride) {
        return new YearMonthSerializer(formatter, shapeOverride);
    }

    @Override
    public void serialize(YearMonth value, JsonGenerator gen, SerializerProvider provider) throws IOException
    {
        gen.writeString(_format.createFormatter(provider).print(value));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy