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

org.opentripplanner.client.serialization.OffsetDateTimeSerializer Maven / Gradle / Ivy

There is a newer version: 0.1.7
Show newest version
package org.opentripplanner.client.serialization;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import java.io.IOException;
import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneId;

public class OffsetDateTimeSerializer extends StdDeserializer {
  private final ZoneId zoneId;

  public OffsetDateTimeSerializer(ZoneId zone) {
    super((Class) null);
    zoneId = zone;
  }

  @Override
  public OffsetDateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonNode node = jp.getCodec().readTree(jp);
    long epochMillis = node.numberValue().longValue();

    return Instant.ofEpochMilli(epochMillis).atZone(zoneId).toOffsetDateTime();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy