Я прочитал эту статью: https://www.ibm.com/developerworks/java/library/j-javadev2-8/index.html
Модель абстрактного класса в листинге 2. имеет хранилище данных переменных статических .
abstract class Model {
static def datastore = DatastoreServiceFactory.datastoreService
...
Класс Race в листинге 3. расширяет абстрактный класс Model.
class Race extends Model {
public Race(params){
super(params)
}
}
В листинге 5 и листинге 6 используется хранилище данных нестатических переменных автора ( this.datastore ) в статическом методе. Я полагаю, статический метод находится в классе Race.
static def findByName(name){
def query = new Query(Race.class.simpleName)
query.addFilter("name", Query.FilterOperator.EQUAL, name)
def preparedQuery = this.datastore.prepare(query)
if(preparedQuery.countEntities() > 1){
return new Race(preparedQuery.asList(withLimit(1))[0])
}else{
return new Race(preparedQuery.asSingleEntity())
}
}
Как это возможно? Спасибо за объяснение.
Tom