-InjectのXML設定案

さて、ひがさんよりのコメントをいただいた件、こちらで案を整理してみます。

  • <component>エレメントのinstance属性において、"outer"を設定した場合
    • class属性を設定しない
      • "auto"モードのとき、Injectはメソッド引数のouterComponentの型を調べて行う
      • 手動モードのとき、XML定義に従ってInjectする。
    • class属性を設定する
      • メソッド引数のouterComponentを属性値の型にキャスト不可だと例外生成
      • "auto"モードのとき、Injectはclass属性に設定された型で行う
      • 手動モードのとき、XML定義に従ってInjectする。
  • "outer"以外の、デフォルト設定(="singleton")、"prototype"を設定した場合
    • class属性の設定が当然必須である

としたら良いのではと思います。「メソッド引数のouterComponentを属性値の型にキャスト不可だと例外生成」というのが、コメントのところで書いた「型チェック」のつもりでした。