如何确定Grails中的父类

Bra*_*ads 1 java grails groovy

我有一个基类,我的所有域类都扩展,例如:

class Customer extends IbidemBaseDomain {

 . . 

}
Run Code Online (Sandbox Code Playgroud)

我的基类中有什么方法可以确定哪个类正在扩展它.那么在这个例子中,IbidemBaseDomain是否知道它正在被客户扩展?

Bur*_*ith 5

我在JMeter中编写了一个类路径搜索器实用程序类 - 请参阅http://kickjava.com/src/org/apache/jorphan/reflect/ClassFinder.java.htm

但是对于Grails域类,您可以通过从GrailsApplication访问域类来限制搜索.假设您拥有'grailsApplication'Spring bean(通过DI或其他),您可以通过以下方式找到所有类:

def domainClassClasses = grailsApplication.domainClasses.collect { it.clazz }
Run Code Online (Sandbox Code Playgroud)

并使用它们来进行isInstance()调用或以其他方式导航类层次结构.