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

B gluegent.com Masataka Kurihara kurihara
2004年 3月 30日 (火) 11:36:58 JST


栗原です:

<aspect>でSelメソッドがたたけるといいなあと思ってしまいました。

<aspect pointcut="run">
  out.println('run calling...');
  joinpoint.proceed();
  out.println('run called');
</aspect>

  こうきたときに、XMLファクトリでSelAdvice(仮称)を生成して内部
的に受けちゃって、invokeが来たらSelの実行を行うわけです。

  これの実現には、Selの複文実行が必要になっちゃうので、すぐは実
現しなくても、将来あると便利かと思います。joinpointが暗黙オブジ
ェクトになっていれば、TraceAdvice的なことはなんでもできちゃう。
まあTraceAdviceでいいじゃん、ということも言えますけど。
  Selで宣言文および代入文はできなくとも、複文の実行ができると可
能性広がると思います。


  さらに変数宣言と代入もできたら鬼ですが、それは過剰かと思います。
ifやforで制御できたらさらに爆発ですが。。。壊れてますね。すいま
せん。BSFで受けてJavaScriptか?Tapestryはそういうアプローチして
ます。JavaScriptやJythonでリスナーが書けます。さしずめ、

<component name="comp" language="JavaScript">
  factory = initialContext.lookup('factory');
  factory.setEnv(env);
  factory.initialize();
  return factory.createComponent();
</component>

やっぱりシンプルに「易しく」じゃなくなっちゃいましたね。ダメだな。

--
株式会社グルージェント
栗原 傑享(くりはら まさたか)
渋谷区渋谷3-7-6 第6矢木ビル4F
TEL:03-5469-8869 FAX:03-5469-8879
URL:http://www.gluegent.com/
--


> <[E-MAIL ADDRESS DELETED]> の、
>    "[Seasar-user:517] Re: groovy-seasar 0.1 released!" において、
>    "Masataka Kurihara <[E-MAIL ADDRESS DELETED]>"さんは書きました:
> 
> > 栗原です。
> > 
> > > む。負けてられない(笑)。
> > 
> > こちらも負けていられない(笑)。
> > 
> > ところでいまチュートリアルかいてますが、この機能、
> > どういう使い方しますか?私はまだピントきてません。
> > 
> > > 次のリリースで、
> > > <component>new java.math.BigDecimal(10)</component>
> > > <component name="obj">new java.lang.Object()</component>
> > > に対応します。
> 
> argタグとかでは既にできるのですが、
> <component class="Hoge">
>   <arg>aaa</arg>
>   <arg>bbb</arg>
> </component>
> のかわりに、
> <component>new Hoge(aaa, bbb)</component>
> とかけたり、
> <component name="dataSource">initialContext.lookup('jdbc/orace')</component>
> などとメソッド呼び出しの結果をコンポーネントにすることができるようになります。
> また、initMethod,destroyMethodも同様に
> <component name="myMap" class="java.util.HashMap">
>   <initMethod>myMap.put('aaa', '111')</initMethod>
> </component>
> とできるようにする予定です。
> ---
> Yasuo Higa <[E-MAIL ADDRESS DELETED]>
> INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user






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