寻找便利工厂来创建 GroovyObjectSupport 实例

Posted

技术标签:

【中文标题】寻找便利工厂来创建 GroovyObjectSupport 实例【英文标题】:Looking for Convenience Factory To Create GroovyObjectSupport Instances 【发布时间】:2011-09-07 03:48:39 【问题描述】:

我希望能够创建 GroovyObjectSupport 的实例(在 Java 中),它可以动态地包装简单的 pojo(任何类)。我希望找到可以检查提供的 pojo 的类类型并在 AOP/ByteCode 中实现 GroovyObjectSupport 构造的东西,但我愿意接受任何好的想法。

理想情况下应该是这样的:

GroovyObjectSupport gos = GroovyObjectSupportFactory.generate(myPojo);

干杯。

【问题讨论】:

【参考方案1】:

你能把它包装在代理中吗?

ie:你可以这样做:

import groovy.util.Proxy

...

String s = new String( "tim" )
Proxy p = new Proxy().wrap( s )

...
// Then in Groovy, you can do:

println p.length() // 3
println p.adaptee.class.name // "java.lang.String"

Proxy 类扩展了GroovyObjectSupport

【讨论】:

谢谢蒂姆;我用代理四处寻找,这正是我想要的。这实际上似乎效果最好:ProxyGenerator.INSTANCE.instantiateDelegate(myPojo);

以上是关于寻找便利工厂来创建 GroovyObjectSupport 实例的主要内容,如果未能解决你的问题,请参考以下文章

一起来学设计模式-----创建型模式之简单工厂

工厂模式分类

简单工厂模式

bean的创建第二部分 寻找bean的工厂方法实例化

工厂模式

工厂模式