[Seasar-user:539] AspectでのSelメソッド
Masataka Kurihara
kurihara
2005年 4月 6日 (水) 01:08:08 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/
--
> <20040327130720.7AE0.KURIHARA @ gluegent.com> の、
> "[Seasar-user:517] Re: groovy-seasar 0.1 released!" において、
> "Masataka Kurihara <kurihara @ gluegent.com>"さんは書きました:
>
> > 栗原です。
> >
> > > む。負けてられない(笑)。
> >
> > こちらも負けていられない(笑)。
> >
> > ところでいまチュートリアルかいてますが、この機能、
> > どういう使い方しますか?私はまだピントきてません。
> >
> > > 次のリリースで、
> > > <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 <higa @ isid.co.jp>
> INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ lists.sourceforge.jp
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内