Groovy автоматически генерирует геттеры и сеттеры, поэтому, например, когда я набираю:
int someField
, я получаю поле + геттер + сеттер.Теперь я хочу поместить аннотацию на установщик (например, @ Require / Ensures from GContracts):
@Ensures({someField >= 0 && someField <= 100})
int someField
И тогда я получаю сообщение об ошибке: Аннотация groovy.lang.GrUnit не допускается для элемента FIELD - GrUnit иGContracts распознает аннотации только для методов.Обходной путь для этого - явное получение кода:
@Requires({...})
void setSomeField(int newValue) { ... }
Есть ли лучшее решение для этого?В Scala есть элегантное решение для этого: http://www.scala -lang.org / api / current / scala / annotation / target / package.html
Есть ли что-то подобное в Groovy?Или в качестве альтернативы: может быть, есть какое-то решение для GContracts, позволяющее такие аннотации?