de.svws_nrw.csv.converter.current.UhrzeitConverterDeserializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of svws-db Show documentation
Show all versions of svws-db Show documentation
Diese Bibliothek regelt den Zugriff auf Datenbanken für die Schulverwaltungssoftware in NRW
The newest version!
package de.svws_nrw.csv.converter.current;
import java.io.IOException;
import java.sql.Timestamp;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import de.svws_nrw.db.converter.current.UhrzeitConverter;
/**
* Diese Klasse ist ein Deserialisierer für Uhrzeitwerte. Sie deserialisiert die
* Datenbankdarstellung als Timestamp in eine Uhrzeit als Integer-Wert in Minuten.
*/
public final class UhrzeitConverterDeserializer extends StdDeserializer {
private static final long serialVersionUID = 1997235870466231273L;
/**
* Erzeugt einen neuen Deserialisierer
*/
public UhrzeitConverterDeserializer() {
super(Integer.class);
}
/**
* Erzeugt einen neuen Deserialisierer unter Angabe der {@link Class}
*
* @param t das Klassen-Objekt
*/
protected UhrzeitConverterDeserializer(final Class t) {
super(t);
}
@Override
public Integer deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException {
try {
return UhrzeitConverter.instance.convertToEntityAttribute(Timestamp.valueOf(p.getText()));
} catch (@SuppressWarnings("unused") final IllegalArgumentException e) {
return null;
}
}
}