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

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