package uk.ac.ox.zoo.seeg.abraid.mp.common.dto.json.geojson;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import java.io.IOException;
/**
* A Jackson deserializer to correctly convert GeoJsonGeometryType enum values from the appropriate string.
* Copyright (c) 2014 University of Oxford
*/
public class GeoJsonObjectTypeDeserializer extends JsonDeserializer<GeoJsonObjectType> {
@Override
public GeoJsonObjectType deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
throws IOException {
String jsonValue = jsonParser.getText();
for (GeoJsonObjectType enumValue : GeoJsonObjectType.values()) {
if (enumValue.getGeoJsonName().equals(jsonValue)) {
return enumValue;
}
}
throw new IOException(jsonValue + " is not defined in GeoJsonObjectType");
}
}