Как отключить генерацию Groovy-аксессоров? - PullRequest
6 голосов
/ 22 июля 2010

Groovy Beans - это здорово, но мне просто любопытно, можно ли объявить члена класса закрытым и не создавать для него методы доступа?Страница http://groovy.codehaus.org/Groovy+Beans>Groovy Beans не охватывает эту тему.Единственное, о чем я могу думать, - это определить методы доступа и сделать их приватными.

1 Ответ

10 голосов
/ 22 июля 2010

Groovy не будет добавлять средства доступа, если член объявлен с модификатором доступа: частным, защищенным или общедоступным. Если вам не нужны методы доступа, просто добавьте подходящий модификатор. Вот пример, который иллюстрирует это:

class Test1 { private int blat }
println Test1.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test2 { protected int blat }
println Test2.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test3 { public int blat }
println Test3.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }
class Test4 { int blat }
println Test4.metaClass.getMethods()*.name.findAll { it.endsWith("Blat") }

Печать:

[]
[]
[]
[getBlat, setBlat]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...