package org.deephacks.confit.internal.jaxrs;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.DeserializationContext;
import org.codehaus.jackson.map.JsonDeserializer;
import org.deephacks.confit.test.DateTime;
import org.deephacks.confit.test.DurationTime;
import java.io.IOException;
public class Serializers {
public static class DateTimeDeserializer extends JsonDeserializer<DateTime> {
@Override
public DateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
JsonNode node = jp.getCodec().readTree(jp);
return new DateTime(node.get("dateTimeString").getTextValue());
}
}
public static class DurationTimeDeserializer extends JsonDeserializer<DurationTime> {
@Override
public DurationTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
JsonNode node = jp.getCodec().readTree(jp);
int hours = node.get("hours").getIntValue();
int minutes = node.get("minutes").getIntValue();
int seconds = node.get("seconds").getIntValue();
boolean negative = node.get("negative").getBooleanValue();
return new DurationTime(negative, hours, minutes, seconds);
}
}
}