| Interface | Description |
|---|---|
| ExternalizedComponentDefinitionLoader |
外部化されたコンポーネント定義をロードするインタフェース。
外部化されたコンポーネント定義には、設定ファイル以外の例えばシステムプロパティや
OS環境変数などで指定された値などが該当する。
|
| Class | Description |
|---|---|
| AnnotationComponentDefinitionLoader |
アノテーションが付与されたクラスをコンポーネントとして読み込む
ExternalizedComponentDefinitionLoader。
このローダーはSystemRepositoryComponentが付与されたクラスをコンポーネントとして読み込む。
読み込む対象となるパッケージはAnnotationComponentDefinitionLoader.getBasePackage()で取得する。
ローダーの使用時にサブクラスを作成し、オーバーライドすること。 |
| CompositeExternalizedLoader |
複数の
ExternalizedComponentDefinitionLoaderを組み合わせたローダー。
このクラスは、コンストラクタで指定したローダーのリストを順番に実行していき、
各ローダーが読み込んだ結果を1つにマージして返却する。
既に読み込まれているコンポーネントと同じ名前のコンポーネントが読み込まれた場合は、
後から読み込まれたコンポーネントで上書きされる。 |
| OsEnvironmentVariableExternalizedLoader |
OS環境変数をコンポーネント定義として読み込む
ExternalizedComponentDefinitionLoader。
このローダーは、読み込み済みのコンポーネントの名前を元に、OS環境変数を検索する。このとき、OS環境変数で使用できる文字種に制限があることを踏まえて、コンポーネント名を 次のように変換してから検索する。 ドット( ".")とハイフン("-")をアンダーバー("_")に置換する
小文字を大文字に変換する(String.toUpperCase())
つまり、"foo-bar.fizz-buzz"という名前のコンポーネントが存在した場合は、
"FOO_BAR_FIZZ_BUZZ"という名前でOS環境変数が検索されることになる。
変換後の名前でOS環境変数が見つかった場合は、その値をStringのコンポーネントとして読み込む。 |
| SystemPropertyExternalizedLoader |
システムプロパティをコンポーネント定義として読み込む
ExternalizedComponentDefinitionLoader。
このローダーは、システムプロパティで指定されている値をすべてStringのコンポーネントとしてロードする。 |