クラス SeContainerInitializer
- java.lang.ObjectSE
-
- jakarta.enterprise.inject.se.SeContainerInitializer
public abstract class SeContainerInitializer extends ObjectSE
JavaSE 用の CDI コンテナー初期化子。インスタンスは、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
コンストラクターの概要
コンストラクター コンストラクター 説明 SeContainerInitializer()
方法の概要
すべてのメソッド 静的メソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 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 SeContainerInitializerdisableDiscovery()デフォルトでは、検出は有効になっています。abstract SeContainerInitializerenableDecorators(ClassSE<?>... decoratorClasses)合成 Bean アーカイブで有効なデコレータのリストにデコレータクラスを追加します。abstract SeContainerInitializerenableInterceptors(ClassSE<?>... interceptorClasses)合成 Bean アーカイブで有効なインターセプターのリストにインターセプタークラスを追加します。abstract SeContainerinitialize()CDI SeContainerInitializer を初期化します。static SeContainerInitializernewInstance()SeContainerInitializerのインスタンスを返します。各呼び出しは新しいインスタンスを返しますabstract SeContainerInitializerselectAlternatives(ClassSE<?>... alternativeClasses)合成 Bean アーカイブの選択された代替のリストに代替クラスを追加します。abstract SeContainerInitializerselectAlternativeStereotypes(ClassSE<? extends AnnotationSE>... alternativeStereotypeClasses)合成 Bean アーカイブ用に選択された代替ステレオタイプのリストに代替ステレオタイプクラスを追加します。abstract SeContainerInitializersetClassLoader(ClassLoaderSE classLoader)ClassLoaderSE を設定します。abstract SeContainerInitializersetProperties(MapSE<StringSE,ObjectSE> properties)すべての構成プロパティを設定します。
メソッドの詳細
newInstance
public static SeContainerInitializer newInstance()
SeContainerInitializerのインスタンスを返します。各呼び出しは新しいインスタンスを返します- 戻り値:
- 新しい SeContainerInitializer インスタンス。
- 例外:
IllegalStateExceptionSE- Java EE コンテナーで呼び出された場合
addBeanClasses
public abstract SeContainerInitializer addBeanClasses(ClassSE<?>... classes)
提供された Bean クラスを合成 Bean アーカイブに追加します。- パラメーター:
classes- 合成 Bean アーカイブに追加するクラス- 戻り値:
- 自己
addPackages
public abstract SeContainerInitializer addPackages(ClassSE<?>... packageClasses)
指定されたクラスのパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
packageClasses- パッケージが合成 Bean アーカイブに追加されるクラス- 戻り値:
- 自己
addPackages
public abstract SeContainerInitializer addPackages(boolean scanRecursively, ClassSE<?>... packageClasses)
指定されたクラスのパッケージがスキャンされ、見つかったクラスが合成 Bean アーカイブの Bean クラスのセットに追加されます。*スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
scanRecursively- サブパッケージをスキャンするかどうかpackageClasses- パッケージがスキャンされるクラス- 戻り値:
- 自己
addPackages
public abstract SeContainerInitializer addPackages(PackageSE... packages)
指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
packages- 合成 Bean アーカイブに追加されるパッケージ- 戻り値:
- 自己
addPackages
public abstract SeContainerInitializer addPackages(boolean scanRecursively, PackageSE... packages)
指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。スキャンの可能性は限られていることに注意してください。ファイルシステムのディレクトリと jar ファイルのみがサポートされます。
スキャンは、SE のパフォーマンスにも悪影響を与える可能性があります。
- パラメーター:
scanRecursively- サブパッケージをスキャンするかどうかpackages- 合成 Bean アーカイブに追加されるパッケージ- 戻り値:
- 自己
addExtensions
public abstract SeContainerInitializer addExtensions(Extension... extensions)
拡張機能のセットに拡張機能を追加します。- パラメーター:
extensions- コンテナーで使用する拡張機能- 戻り値:
- 自己
addExtensions
public abstract SeContainerInitializer addExtensions(ClassSE<? extends Extension>... extensions)
拡張機能のセットに拡張機能を追加します。- パラメーター:
extensions- コンテナーで使用する拡張クラス- 戻り値:
- 自己
enableInterceptors
public abstract SeContainerInitializer enableInterceptors(ClassSE<?>... interceptorClasses)
合成 Bean アーカイブで有効なインターセプターのリストにインターセプタークラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
interceptorClasses- 有効にするインターセプターのクラス。- 戻り値:
- 自己
enableDecorators
public abstract SeContainerInitializer enableDecorators(ClassSE<?>... decoratorClasses)
合成 Bean アーカイブで有効なデコレータのリストにデコレータクラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
decoratorClasses- 有効にするデコレータのクラス。- 戻り値:
- 自己
selectAlternatives
public abstract SeContainerInitializer selectAlternatives(ClassSE<?>... alternativeClasses)
合成 Bean アーカイブの選択された代替のリストに代替クラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
alternativeClasses- 選択する選択肢のクラス- 戻り値:
- 自己
selectAlternativeStereotypes
public abstract SeContainerInitializer selectAlternativeStereotypes(ClassSE<? extends AnnotationSE>... alternativeStereotypeClasses)
合成 Bean アーカイブ用に選択された代替ステレオタイプのリストに代替ステレオタイプクラスを追加します。このメソッドは、合成 Bean アーカイブの Bean クラスのセットにクラスを追加しません。
- パラメーター:
alternativeStereotypeClasses- 選択する代替ステレオタイプ- 戻り値:
- 自己
addProperty
public abstract SeContainerInitializer addProperty(StringSE key, ObjectSE value)
コンテナーに構成プロパティを追加します- パラメーター:
key- プロパティ名value- プロパティ値- 戻り値:
- 自己
setProperties
public abstract SeContainerInitializer setProperties(MapSE<StringSE,ObjectSE> properties)
すべての構成プロパティを設定します。以前のプロパティセットを消去します- パラメーター:
properties- 追加するプロパティを含むマップ- 戻り値:
- 自己
disableDiscovery
public abstract SeContainerInitializer disableDiscovery()
デフォルトでは、検出は有効になっています。ただし、検出を完全に無効にして、「合成」Bean アーカイブのみが考慮されるようにすることは可能です。- 戻り値:
- 自己
setClassLoader
public abstract SeContainerInitializer setClassLoader(ClassLoaderSE classLoader)
ClassLoaderSE を設定します。スキャンが有効になっている場合、指定されたClassLoaderSE は Bean アーカイブを自動的にスキャンします。- パラメーター:
classLoader- 使用するクラスローダー- 戻り値:
- 自己
initialize
public abstract SeContainer initialize()
CDI SeContainerInitializer を初期化します。
アプリケーションサーバー内で呼び出すことはできません。
- 戻り値:
- コンテナーに関連付けられた
SeContainerインスタンス。 - 例外:
UnsupportedOperationExceptionSE- アプリケーションサーバー内で呼び出された場合