com.vaadin.flow.component.charts.model.serializers.InstantSerializer Maven / Gradle / Ivy
/**
* Copyright 2000-2024 Vaadin Ltd.
*
* This program is available under Vaadin Commercial License and Service Terms.
*
* See {@literal } for the full
* license.
*/
package com.vaadin.flow.component.charts.model.serializers;
import java.io.IOException;
import java.time.Instant;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.vaadin.flow.component.charts.util.Util;
/**
* Serializes all {@link java.time.Instant} objects as UTC long.
*
*/
public class InstantSerializer extends JsonSerializer {
public static Module getModule() {
SimpleModule module = new SimpleModule();
module.addSerializer(Instant.class, new InstantSerializer());
return module;
}
@Override
public void serialize(Instant value, JsonGenerator gen,
SerializerProvider serializers)
throws IOException, JsonProcessingException {
gen.writeNumber(Util.toHighchartsTS(value));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy