com.nhl.link.rest.encoder.legacy.ISODateEncoder Maven / Gradle / Ivy
package com.nhl.link.rest.encoder.legacy;
import com.fasterxml.jackson.core.JsonGenerator;
import com.nhl.link.rest.encoder.AbstractEncoder;
import com.nhl.link.rest.encoder.Encoder;
import java.io.IOException;
import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* @since 2.11
* @deprecated since 2.11 in favor of using new date encoding strategy (default in the core module)
*/
@Deprecated
public class ISODateEncoder extends AbstractEncoder {
private static final Encoder instance = new ISODateEncoder();
public static Encoder encoder() {
return instance;
}
private DateTimeFormatter format;
private ISODateEncoder() {
format = DateTimeFormatter.ISO_LOCAL_DATE.withZone(ZoneId.systemDefault());
}
@Override
protected boolean encodeNonNullObject(Object object, JsonGenerator out) throws IOException {
Date date = (Date) object;
String formatted = format.format(Instant.ofEpochMilli(date.getTime()));
out.writeObject(formatted);
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy