
com.gooddata.util.GDDateTimeSerializer Maven / Gradle / Ivy
package com.gooddata.util;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.DateTimeFormatterBuilder;
import org.joda.time.format.ISODateTimeFormat;
import java.io.IOException;
/**
* Serializes Joda's {@link DateTime} fields to the GoodDate date time format in the UTC timezone (yyyy-MM-dd HH:mm:ss.SSSZ).
*/
public class GDDateTimeSerializer extends JsonSerializer {
static final DateTimeFormatter FORMATTER = new DateTimeFormatterBuilder()
.append(ISODateTimeFormat.date())
.appendLiteral(' ')
.append(ISODateTimeFormat.hourMinuteSecond())
.toFormatter().withZone(DateTimeZone.UTC);
@Override
public void serialize(DateTime value, JsonGenerator gen, SerializerProvider arg2) throws IOException {
gen.writeString(FORMATTER.print(value));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy