package com.fasterxml.jackson.dataformat.ion.jsr310;
import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZonedDateTime;
import com.fasterxml.jackson.core.Version;
import com.fasterxml.jackson.core.json.PackageVersion;
import com.fasterxml.jackson.databind.module.SimpleModule;
A module that installs a collection of serializers and deserializers for java.time classes.
/**
* A module that installs a collection of serializers and deserializers for java.time classes.
*/
public class IonJavaTimeModule extends SimpleModule {
private static final long serialVersionUID = 1L;
public IonJavaTimeModule() {
super(PackageVersion.VERSION);
addSerializer(Instant.class, IonTimestampInstantSerializer.INSTANT);
addSerializer(OffsetDateTime.class, IonTimestampInstantSerializer.OFFSET_DATE_TIME);
addSerializer(ZonedDateTime.class, IonTimestampInstantSerializer.ZONED_DATE_TIME);
addDeserializer(Instant.class, IonTimestampInstantDeserializer.INSTANT);
addDeserializer(OffsetDateTime.class, IonTimestampInstantDeserializer.OFFSET_DATE_TIME);
addDeserializer(ZonedDateTime.class, IonTimestampInstantDeserializer.ZONED_DATE_TIME);
}
@Override
public String getModuleName() {
return getClass().getName();
}
@Override
public Version version() {
return PackageVersion.VERSION;
}
@Override
public void setupModule(SetupContext context) {
super.setupModule(context);
}
}