001
002package io.vrap.rmf.base.client.utils.json.modules.serializers;
003
004import java.io.IOException;
005import java.time.LocalDate;
006import java.time.format.DateTimeFormatter;
007
008import com.fasterxml.jackson.core.JsonGenerator;
009import com.fasterxml.jackson.databind.SerializerProvider;
010import com.fasterxml.jackson.databind.ser.std.StdScalarSerializer;
011
012/**
013 * serializes a {@link LocalDate} to {@link DateTimeFormatter#ISO_DATE} format
014 */
015public final class LocalDateSerializer extends StdScalarSerializer<LocalDate> {
016
017    static final long serialVersionUID = 0L;
018
019    public LocalDateSerializer() {
020        super(LocalDate.class);
021    }
022
023    @Override
024    public void serialize(final LocalDate value, final JsonGenerator gen, final SerializerProvider arg2)
025            throws IOException {
026        gen.writeString(DateTimeFormatter.ISO_DATE.format(value));
027    }
028
029}