[Seasar-user:660] Re: groovy-seaserのドキュメントについて
B interlink.or.jp jazzatny
jazzatny
2004年 4月 15日 (木) 21:24:21 JST
佐藤です。ありがとうございました。
どうも私の説明が足りなかったようで、高井さんにはお手数を
おかけしたようです。
SeasarBuilder.javaのcreateNode(Object name)内に
argをチェックしているところがあったので
groovy-seasarの定義内に
builder = new SeasarBuilder()
builder.arg() <----- これ
container = builder.container(){
components(.....){
arg(0)
}
}
と書いて実行してみたところ通ったもので、「はて、これは
どう使うんだろう」思い質問したものでした。
どうも、すみませんでした。
ところで、groovyって面白いですね。
--- hoge.groovy
import org.seasar.groovy.SeasarBuilder
class ContainerFactory{
getContainer(){
builder = new SeasarBuilder()
container = builder.container(){
component(hoge.Fungar) {
closure = {joinpoint|
println "before execute method"
start = System.currentTimeMillis()
ret = joinpoint.proceed()
println "after execute method (" + (System.currentTimeMillis()
- start) + ")"
return ret
}
aspect(pointcut:"work", advice:closure)
}
}
return container
}
}
---
URL url =
Thread.currentThread().getContextClassLoader().getResource("hoge.groovy");
ClassLoader parent = getClass().getClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
Class groovyClass = loader.parseClass(url.openStream());
containerFactory = (GroovyObject) groovyClass.newInstance();
S2Container container = container.getContainer();
こういうこともできるんですね。
今はまっています。
Seasar-user メーリングリストの案内