[seasar-javadoc:800] Re: AbstractAnnotationHandler

Jundo Ishikawa jundo.ishikawa @ gmail.com
2007年 2月 8日 (木) 23:49:30 JST


JUNDUです。

 お疲れ様です。

07/02/08 に Makoto Yonezawa<stratosphire @ gmail.com> さんは書きました:
> もしかして、自分はコンポーネント定義っていうのが、
> よくわかっていないかもしれないと思うのですが、
> このコンポーネント定義はS2コンテナ内に設定ファイルにかかれたものや、
> アノテーションでかかれたものもまとめて管理しているものですか?

 分からないところが分かってないかもしれませんが、コンポーネント定義は、
設定ファイルで書かれたものとアノテーションで書かれたものを融合したもの
だと思います。

 例えばあるコンポーネントの設定を設定ファイルに書く時、instance属性を
書かずにアノテーション側にinstance属性を定義すれば、作成されるコンポー
ネント定義はアノテーションに書いたライフサイクルになるはずです。

 また、initMethodアノテーションを記述しておけば、設定ファイルに書いて
なくてもinitMethodとして追加されるはずです。

 アノテーションは、設定ファイルに記述する設定の補助という位置づけでは
ないでしょうか。コンポーネントの自動登録などでは、クラス毎にコンポーネ
ント定義を書いたりしないので、アノテーションを使うことでコンポーネント
毎の設定を切り替えたりするのだと思います。

 というわけで、私の認識では設定ファイルを使わずにコンポーネント定義を
作成すると言うよりは、クラス毎にコンポーネント定義を微調整するという認
識です。あるいは、デフォルト値の上書きでしょうか。S2コンテナ内部では、
自動バインディングをmayにして警告を無くしたりしてますね。(デフォルトは、
should)

> 説明がちょっとわかりにくいと思いますが、よろしくお願いします。

 Javadocの方は、気になった点だけ。

・外部バインディングはbooleanなので「外部バインディングの有無」とかは、
 どうでしょう?
・componentClassに対して、1カ所だけコンポーネント名となってました。他と
 同じようにコンポーネントクラスがいいと思います。

> * コンポーネント定義に初期化メソッドとして追加可能かどうかを判定します。

コンポーネント定義に、指定した初期化メソッドが追加可能かどうかを返します。

なんて感じでいかがでしょう?

 destroyMethodについては、どうなったんでしたっけ?(^^; 今ひとつ、どう
なったのか記憶が曖昧です。日本語の名前を付けるのって、ホント難しいですね。


-- 
 Jundo Ishikawa <jundo.ishikawa @ gmail.com>
        。


seasar-javadoc メーリングリストの案内