[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 メーリングリストの案内