[seasar-javadoc:234] Re: S2Container

Koichi Kobayashi koichik @ improvement.jp
2006年 6月 16日 (金) 00:01:09 JST


小林 (koichik) です.

Date:    Thu, 15 Jun 2006 06:42:10 +0900
From:    "Makoto Yonezawa" <stratosphire @ gmail.com>
To:      seasar-javadoc @ ml.seasar.org
Subject: [seasar-javadoc:233] Re: S2Container

> まずは、
> injectDependency()を追記しました。
> 
> インジェクションする種類の話と、適合するコンポーネントをマッチさせるキーの種類を書きました。ご確認お願いしますm_ _m

ありがとうございます.
injectDependency(Object outerComponent) は個人的にはいい感じかと.
ただ,出だしの文の切れ目が分かりにくいので,もう一工夫した方が
いいのかもしれません.
マークアップを外すと

>      * outerComponentのクラスをキーとして登録された
>      * コンポーネント定義に従ってインジェクションを実行します。

となるのですが,うーん... 大丈夫かなぁ?
意見求む>ALL

あと,injectDependency(Object, Class) ですが,

>      * <code>outerComponent</code>のクラスをキーとして登録された

こちらは outerComponent ではなく,第 2 引数の componentClass が
キーになります.
injectDependency(Object, String) も同様.

> 次にregister() 系のメソッドですが、
> 小林さんが、書いていたどのようなコンポーネントが登録されるかですが、
> 内容としては、
> *インスタンス定義
> *自動バインディング定義
> のことが書いてあればよいのでしょうか?

そうですね,この二つは必須かと.

> また、実装のほうをみているのですが、上記二つに関係する箇所がいまだ
> (っていっても15分・・・)みつかりません。
> どのあたりを参照すればよいか、ご教授お願いいたしますm_ _m

まずは S2ContainerImpl#register().
そこでクラスを登録した場合は ComponentDefImpl が
インスタンス化されています.
そこで ComponentDefImpl を見てみると...

    private InstanceDef instanceDef = InstanceDefFactory.SINGLETON;
    private AutoBindingDef autoBindingDef = AutoBindingDefFactory.AUTO;

そんなわけで (どんなわけで?),ココがその箇所です.


-- 
<signature>
    <name>Koichi Kobayashi</name>
    <e-mail>koichik @ improvement.jp</e-mail>
</signature>



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