如何确定Grails中的父类

时间:2009-09-02 07:50:41

标签: java grails groovy

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

class Customer extends IbidemBaseDomain {

 . . 

}

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

2 个答案:

答案 0 :(得分: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 }

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

答案 1 :(得分:2)

请参阅this question这适用于Groovy和Java,并且看起来没有办法使用不属于核心Java或Groovy语言的库来执行您想要的操作。