[Seasar-user:544] Re: AspectでのSelメソッド

B gluegent.com Masataka Kurihara kurihara
2004年 3月 30日 (火) 15:19:09 JST


栗原です。

> 遅めのお昼に groovy-seasar で
>   component(AspectTarget){
>     aspect(pointcut:"run", advice: {joinpoint|
>       println "before run"
>       joinpoint.proceed()
>       println "after run"
>     })
>   }
> と書けるように手元のコードを改造してみました。

おお、すごいすごい(^^)。
XML版をGroovyで作ってみました。なんとなくBSFよりGroovyのほうがここでは
流行かな?と思いまして。使い方はこんな感じ。

<component class="sample.org.seasar.SpeakerImpl">
  <aspect pointcut="run">
    <component name="shellAdvice"
      class="org.seasar.groovy.ShellAdvice">
      <property name="scriptFile">
        'sample/org/seasar/script.txt'
      </property>
    </component>
  </aspect>
</component>

もしくは、プロパティをscriptFileからscriptに代えて、
<property name="script">
'out.println("before run");joinpoint.proceed();out.println("after run")'
</property>

ファイル一個なんで、ShellAdviceのソースも添付しておきます。

--
株式会社グルージェント
栗原 傑享(くりはら まさたか)
渋谷区渋谷3-7-6 第6矢木ビル4F
TEL:03-5469-8869 FAX:03-5469-8879
URL:http://www.gluegent.com/
--
-------------- next part --------------
平文でない添付ファイルを取り除きました...
ファイル名: ShellAdvice.java
型:         application/octet-stream
サイズ:     2504 バイト
説明:       無し
URL:        http://lists.sourceforge.jp/mailman/archives/seasar-user/attachments/20040330/bd0cc95e/ShellAdvice.obj



Seasar-user メーリングリストの案内