クラス SeContainerInitializer
newInstance() 静的メソッドを呼び出すことで取得できます。一般的な使用箇所は次のようになります。
SeContainer container = SeContainerInitializer.newInstance().initialize(); container.select(Foo.class).get(); container.close();
SeContainer インターフェースは AutoCloseable を実装しているため、次のようになります。
try (SeContainer container = SeContainerInitializer.newInstance().initialize()) {
container.select(Foo.class).get();
}
デフォルトでは、検出が有効になっているため、検出されたすべての Bean アーカイブからのすべての Bean が考慮されます。ただし、「合成」Bean アーカイブ、Bean クラスとイネーブルメントのセットをそれぞれ定義することは可能です。
SeContainer container = SeContainerInitializer.newInstance().addBeanClasses(Foo.class, Bar.class).selectAlternatives(Bar.class).initialize());
さらに、検出を完全に無効にして、「合成」Bean アーカイブのみが考慮されるようにすることもできます。
SeContainer container = SeContainerInitializer.newInstance().disableDiscovery().addBeanClasses(Foo.class, Bar.class).initialize());
同様に、ビルダーを使用して、インターセプター、デコレーター、拡張機能、実装固有のオプションを明示的に宣言することができます。
SeContainerInitializer containerInitializer = SeContainerInitializer.newInstance()
.disableDiscovery()
.addPackages(Main.class, Utils.class)
.enableInterceptors(TransactionalInterceptor.class)
.addProperty("property", true);
SeContainer container = container.initialize();
Java SE で CDI のサポートを提供するために、CDI Lite 実装は必要ありません。
- 導入:
- 2.0
- 作成者:
- Antoine Sabot-Durand, Martin Kouba, John D. Ament
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明abstract SeContainerInitializeraddBeanClasses(ClassSE<?>... classes) 提供された Bean クラスを合成 Bean アーカイブに追加します。abstract SeContainerInitializeraddExtensions(Extension... extensions) 拡張機能のセットに拡張機能を追加します。abstract SeContainerInitializeraddExtensions(ClassSE<? extends Extension>... extensions) 拡張機能のセットに拡張機能を追加します。abstract SeContainerInitializeraddPackages(boolean scanRecursively, ClassSE<?>... packageClasses) 指定されたクラスのパッケージがスキャンされ、見つかったクラスが合成 Bean アーカイブの Bean クラスのセットに追加されます。*abstract SeContainerInitializeraddPackages(boolean scanRecursively, PackageSE... packages) 指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。abstract SeContainerInitializeraddPackages(ClassSE<?>... packageClasses) 指定されたクラスのパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。abstract SeContainerInitializeraddPackages(PackageSE... packages) 指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。abstract SeContainerInitializeraddProperty(StringSE key, ObjectSE value) コンテナーに構成プロパティを追加しますabstract SeContainerInitializerデフォルトでは、検出は有効になっています。abstract SeContainerInitializerenableDecorators(ClassSE<?>... decoratorClasses) 合成 Bean アーカイブで有効なデコレータのリストにデコレータクラスを追加します。abstract SeContainerInitializerenableInterceptors(ClassSE<?>... interceptorClasses) 合成 Bean アーカイブで有効なインターセプターのリストにインターセプタークラスを追加します。abstract SeContainerCDI SeContainerInitializer を初期化します。static SeContainerInitializerSeContainerInitializerのインスタンスを返します。各呼び出しは新しいインスタンスを返しますabstract SeContainerInitializerselectAlternatives(ClassSE<?>... alternativeClasses) 合成 Bean アーカイブの選択された代替のリストに代替クラスを追加します。abstract SeContainerInitializerselectAlternativeStereotypes(ClassSE<? extends AnnotationSE>... alternativeStereotypeClasses) 合成 Bean アーカイブ用に選択された代替ステレオタイプのリストに代替ステレオタイプクラスを追加します。abstract SeContainerInitializersetClassLoader(ClassLoaderSE classLoader) ClassLoaderSE を設定します。abstract SeContainerInitializersetProperties(MapSE<StringSE, ObjectSE> properties) すべての構成プロパティを設定します。
コンストラクターの詳細
SeContainerInitializer
public SeContainerInitializer()
メソッドの詳細
newInstance
SeContainerInitializerのインスタンスを返します。各呼び出しは新しいインスタンスを返します- 戻り値:
- 新しい SeContainerInitializer インスタンス。
- 例外:
IllegalStateExceptionSE- Java EE コンテナーで呼び出された場合
addBeanClasses
提供された Bean クラスを合成 Bean アーカイブに追加します。- パラメーター:
classes- 合成 Bean アーカイブに追加するクラス- 戻り値:
- 自己
addPackages
指定されたクラスのパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
packageClasses- パッケージが合成 Bean アーカイブに追加されるクラス- 戻り値:
- 自己
addPackages
public abstract SeContainerInitializer addPackages(boolean scanRecursively, ClassSE<?>... packageClasses) 指定されたクラスのパッケージがスキャンされ、見つかったクラスが合成 Bean アーカイブの Bean クラスのセットに追加されます。*スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
scanRecursively- サブパッケージをスキャンするかどうかpackageClasses- パッケージがスキャンされるクラス- 戻り値:
- 自己
addPackages
指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
packages- 合成 Bean アーカイブに追加されるパッケージ- 戻り値:
- 自己
addPackages
指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
scanRecursively- サブパッケージをスキャンするかどうかpackages- 合成 Bean アーカイブに追加されるパッケージ- 戻り値:
- 自己
addExtensions
拡張機能のセットに拡張機能を追加します。- パラメーター:
extensions- コンテナーで使用する拡張機能- 戻り値:
- 自己
addExtensions
拡張機能のセットに拡張機能を追加します。- パラメーター:
extensions- コンテナーで使用する拡張クラス- 戻り値:
- 自己
enableInterceptors
合成 Bean アーカイブで有効なインターセプターのリストにインターセプタークラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
interceptorClasses- 有効にするインターセプターのクラス。- 戻り値:
- 自己
enableDecorators
合成 Bean アーカイブで有効なデコレータのリストにデコレータクラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
decoratorClasses- 有効にするデコレータのクラス。- 戻り値:
- 自己
selectAlternatives
合成 Bean アーカイブの選択された代替のリストに代替クラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
alternativeClasses- 選択する選択肢のクラス- 戻り値:
- 自己
selectAlternativeStereotypes
public abstract SeContainerInitializer selectAlternativeStereotypes(ClassSE<? extends AnnotationSE>... alternativeStereotypeClasses) 合成 Bean アーカイブ用に選択された代替ステレオタイプのリストに代替ステレオタイプクラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
alternativeStereotypeClasses- 選択する代替ステレオタイプ- 戻り値:
- 自己
addProperty
コンテナーに構成プロパティを追加します- パラメーター:
key- プロパティ名value- プロパティ値- 戻り値:
- 自己
setProperties
すべての構成プロパティを設定します。以前のプロパティセットを消去します- パラメーター:
properties- 追加するプロパティを含むマップ- 戻り値:
- 自己
disableDiscovery
デフォルトでは、検出は有効になっています。ただし、検出を完全に無効にして、「合成」Bean アーカイブのみが考慮されるようにすることは可能です。- 戻り値:
- 自己
setClassLoader
ClassLoaderSE を設定します。スキャンが有効になっている場合、指定されたClassLoaderSE は Bean アーカイブを自動的にスキャンします。- パラメーター:
classLoader- 使用するクラスローダー- 戻り値:
- 自己
initialize
CDI SeContainerInitializer を初期化します。
アプリケーションサーバー内で呼び出すことはできません。
- 戻り値:
- コンテナーに関連付けられた
SeContainerインスタンス。 - 例外:
UnsupportedOperationExceptionSE- アプリケーションサーバー内で呼び出された場合