如何在 groovy 中列出 JVM 中的所有(groovy)类

问题描述 投票:0回答:1

我正在编写一个 DelegatingMetaClass,我想将其应用于我项目中的所有 groovy 类,但我不知道如何获取项目中的所有类?

代码如下:

 /*
 This will work ok, since I know Foo beforehand, but what about classes 
 that do not exist yet?
 */
 def myMetaClass = new DelegatingMetaClass(Foo.class)
 InvokerHelper.metaRegistry.setMetaClass(Foo.class, myMetaClass)    

 /*
 how to do this?
 allGroovyClasses.each{
      def myMetaClass = new DelegatingMetaClass(it)
      InvokerHelper.metaRegistry.setMetaClass(it, myMetaClass)  
         }
 */


 class SimpleInterceptor extends DelegatingMetaClass{


 public SimpleInterceptor(final Class aclass) {
   super(aclass);    
   initialize();
 }

 public Object getProperty(Object object, String prop) {
     println ("I am in a property interceptor!!!")
   return super.getProperty(object, prop)
 }

 public Object invokeMethod(Object a_object, String a_methodName, Object[] a_arguments)
 {
     println ("I am in a method interceptor!!!")
     return super.invokeMethod(a_object, a_methodName, a_arguments) 
 }
java groovy jvm classpath
1个回答
1
投票

有一个如何在 java 中执行此操作的示例,它也应该适用于 groovy。不过,我认为这是一种粗略的方法。

你的目标是什么?

© www.soinside.com 2019 - 2024. All rights reserved.