Как мне определить, является ли класс объектом домена Grails?

#grails #groovy #dns

#grails #groovy #dns

Вопрос:

Для произвольного объекта, какой самый простой способ определить, является ли тип объекта классом домена Grails?

Ответ №1:

Для этого вы можете использовать grailsApplication. Добавьте внедрение зависимостей в свой контроллер или службу:

 def grailsApplication
  

и тогда вы можете использовать его следующим образом:

 def foo = ...
if (grailsApplication.isDomainClass(foo.getClass()) {
    ...
}
  

Комментарии:

1. Хороший ответ. Откуда взялся этот метод? Кажется, я не могу найти его в Javadoc: grails.org/doc/latest/api/org/codehaus/groovy/grails/commons /…

2. Это динамический метод, поэтому его нет в Javadoc. Все артефакты работают таким образом, например, isServiceClass тоже работает. И если плагин добавляет артефакт, он тоже будет работать, например, Quartz plugin — isTaskClass работает, если у вас установлен Quartz. Эти методы описаны здесь: grails.org/doc/latest/guide /…

Ответ №2: