package api.v1; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import exceptions.PoseidonException; import play.mvc.Http; import java.util.HashMap; import java.util.Map; public enum CoordinateFormat { DECIMAL_DEGREES ("dec"), DEGREES_MINUTES_SECONDS("dms"), UTM("utm"); private final String format; CoordinateFormat(String format) { this.format = format; } @JsonValue public String getFormat() { return format; } @JsonCreator public static CoordinateFormat forValue(String value) { if ( value != null) return lookup.get(value.toLowerCase()); else return CoordinateFormat.DECIMAL_DEGREES; } private static final Map<String, CoordinateFormat> lookup = new HashMap<String, CoordinateFormat>(); static { for (CoordinateFormat d : CoordinateFormat.values()) { lookup.put(d.getFormat(), d); } } }