Я хотел бы использовать аннотацию @NotNull (или @Required или что-нибудь) для моих собственных методов. Хотя это хорошо работает в классах Controller и Model, я не могу заставить его работать самостоятельно. Вероятно, это скорее вопрос net.sf.oval, чем игровой фреймворк. Но это может быть связано, я не знаю.
У меня есть класс, как:
@net.sf.oval.guard.Guarded
public class SimulatorWrapper {
public SimulatorWrapper setRedCode(@play.data.validation.Required @net.sf.oval.constraint.NotNull final String redCode) {
// just gessing here:
if(Validation.hasErrors()) throw new RuntimeException("invalid argument");
if(redCode == null) throw new RuntimeException("null");
// do stuff
return this;
}
}
Когда я вызываю этот метод с нулевым параметром, if выдает мое исключение, но @NotNull и @Required, похоже, ничего не делают. Что я делаю неправильно?
Проект Play Framework поставляется с овалом 1.5, я скачал 1.8 и добавил его в classpath в eclipse на случай, если у старого возникнут проблемы.
Я запускаю сервер с «play test my-server», а затем перехожу на свой веб-сайт (пока не тестовый, просто простой сайт) с помощью моего браузера.
Спасибо, Алекс
P.S. Я знаю обсуждение «ноль - зло», но у меня нет доступа к остальной части кода, поэтому я не могу это изменить.