-Seasar2.0.1
昼間MLで話していた内容が追加されて、Seasar2はじめてのメンテナンスリリース2.0.1が登場です。さっそくチェックしてます。。。Type4における自動引数設定機能がOKでした。「2.0.1よりOK」にチュートリアルS09も直しました。
次にinitMethodにSelを使うの試してみました。S09のAutoChangerCarを使ってます。
<?xml version="1.0" encoding="UTF-8"?> <components> <component name="antenna" class="tutorial.org.seasar.console.CD"> <arg>'Qururi'</arg> <arg>'Antenna'</arg> </component> <component class="tutorial.org.seasar.console.AutoChangerCar"> <initMethod>this.setBGM(antenna)</initMethod> <initMethod>out.println('initialized.')</initMethod> </component> </components>
ちゃんと結果は以下のとおりです。
initialized.
BGM is Qururi's [Antenna]
すごいすごい。これ楽しい。ちなみに、以下は当然例外でOK。
<component name="this" class="tutorial.org.seasar.console.CD"> <component name="myself" class="tutorial.org.seasar.console.AutoChangerCar"> <initMethod>myself.setBGM(this)</initMethod>
thisがきちんと予約語になっているので、setBGM(AutoChangerCar)メソッドが見つからず例外。すばらしい。
<component name="out" class="tutorial.org.seasar.console.CD"> <initMethod>this.setBGM(out)</initMethod>
この組み合わせでもやはり例外ですが、ちょっと例外の出方が違って、TooManyRegistrationRuntimeExceptionです。"out"という名前でSystem.outがデフォルトで登録されている状態ですね。