-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がデフォルトで登録されている状態ですね。