GrailsApplication src / classes - PullRequest
       0

GrailsApplication src / classes

0 голосов
/ 15 августа 2010

Согласно Grails API, мы можем получить все определения классов доменов через GrailsApplication как таковые

import org.codehaus.groovy.grails.commons.ApplicationHolder as AH   
 AH.application.domainClasses

У меня есть классы, определенные в src / groovy, и я хотел бы сделать то же самое.Я попытался использовать следующий код, но тщетно

    import org.codehaus.groovy.grails.commons.ApplicationHolder as AH   
 AH.application.allClasses

Согласно API Grails, вызов getAllClasses должен возвращать все классы, загруженные загрузчиком классов Grails

Class [] getAllClasses ()Извлекает все экземпляры java.lang.Class, загруженные загрузчиком классов Grails

Я что-то упустил

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

. Итак, классы в 'src' не зарегистрированы с помощью grails classLoader. Но вы можете использовать «загрузчик классов в контексте», чтобы легко получить эти классы, используя одну строку кода (хотя стиль Java)

Class fetchedClass = Class.forName(
    "Class Full Name Here", 
    true, 
    Thread.currentThread().getContextClassLoader()
)

.

.
Вот и все .. :) Все готово! Без труда. ,

.

Пример получения класса "com.myPackage.dto.AddressDTO" Мы сделаем:

ПРИМЕР: получить класс "com.myPackage.dto.AddressDTO"

Class fetchedClass = Class.forName(
        "com.myPackage.dto.AddressDTO", 
        true, 
        Thread.currentThread().getContextClassLoader()
    )
3 голосов
/ 16 августа 2010

Любой код Java или Groovy может быть помещен в каталог src и не должен интегрироваться с Grails.Загрузчик классов Grails загружает только определенные классы Grails, такие как подключаемые модули, контроллеры и классы доменов, о которых ваше приложение Grails знает во время выполнения.Чтобы узнать о классах, расположенных в вашем каталоге src, вам нужно знать имя интересующего вас пакета, а затем перебрать все содержимое этого пакета.

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