Groovy自動生成獲取者和設置者,例如當我輸入:如何將註釋放在由Groovy編譯器自動生成的getter或setter上?
int someField
我得到的字段+ getter + setter。現在,我想提出一個註解的setter方法(如@需要從GContracts /確保):
@Ensures({someField >= 0 && someField <= 100})
int someField
然後我得到錯誤:註釋groovy.lang.GrUnit是不允許的元素字段 - GrUnit和GContracts認識僅在方法上註釋。對此的解決方法是明確地編碼getter:
@Requires({...})
void setSomeField(int newValue) { ... }
是否有更好的解決方案呢?在斯卡拉這裏有一個優雅的解決方案:http://www.scala-lang.org/api/current/scala/annotation/target/package.html
Groovy中是否有類似的東西?或者,也許:GContracts可能有一些解決方法來允許此類註釋?