001package io.konik.sdk.json;
002
003import com.fasterxml.jackson.core.JsonParser;
004import com.fasterxml.jackson.core.JsonProcessingException;
005import com.fasterxml.jackson.databind.DeserializationContext;
006import com.fasterxml.jackson.databind.JsonDeserializer;
007
008import java.io.IOException;
009import java.text.DateFormat;
010import java.text.ParseException;
011import java.text.SimpleDateFormat;
012import java.util.Date;
013
014public class DateDeserializer extends JsonDeserializer<Date> {
015
016        private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
017
018        @Override
019        public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
020                String dateAsString = jsonParser.readValueAs(String.class);
021                Date date = null;
022                try {
023                        date = DATE_FORMAT.parse(dateAsString);
024                } catch (ParseException e) {
025                        throw new RuntimeException(e);
026                }
027
028                return date;
029        }
030}