Приложение My Grails имеет большое количество перечислений, которые выглядят следующим образом:
public enum Rating {
BEST("be"), GOOD("go"), AVERAGE("av"), BAD("ba"), WORST("wo")
final String id
private RateType(String id) {
this.id = id
}
static public RateType getEnumFromId(String value) {
values().find {it.id == value }
}
}
Если у меня есть объект команды, например:
class MyCommand {
Rating rating
}
Я хотел бы (например) автоматически преобразовать параметр запроса со значением "wo" в Rating.WORST.
Процедура определения пользовательских преобразователей описана здесь (в контексте преобразования строк в даты). Хотя эта процедура работает нормально, я не хочу создавать класс, реализующий PropertyEditorSupport для каждого из моих перечислений. Есть ли лучшая альтернатива?