クラス 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 SeContainerInitializer
addBeanClasses(ClassSE<?>... classes)
提供された Bean クラスを合成 Bean アーカイブに追加します。abstract SeContainerInitializer
addExtensions(Extension... extensions)
拡張機能のセットに拡張機能を追加します。abstract SeContainerInitializer
addExtensions(ClassSE<? extends Extension>... extensions)
拡張機能のセットに拡張機能を追加します。abstract SeContainerInitializer
addPackages(boolean scanRecursively, ClassSE<?>... packageClasses)
指定されたクラスのパッケージがスキャンされ、見つかったクラスが合成 Bean アーカイブの Bean クラスのセットに追加されます。*abstract SeContainerInitializer
addPackages(boolean scanRecursively, PackageSE... packages)
指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。abstract SeContainerInitializer
addPackages(ClassSE<?>... packageClasses)
指定されたクラスのパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。abstract SeContainerInitializer
addPackages(PackageSE... packages)
指定されたパッケージのすべてのクラスが、合成 Bean アーカイブの Bean クラスのセットに追加されます。abstract SeContainerInitializer
addProperty(StringSE key, ObjectSE value)
コンテナーに構成プロパティを追加しますabstract SeContainerInitializer
disableDiscovery()
デフォルトでは、検出は有効になっています。abstract SeContainerInitializer
enableDecorators(ClassSE<?>... decoratorClasses)
合成 Bean アーカイブで有効なデコレータのリストにデコレータクラスを追加します。abstract SeContainerInitializer
enableInterceptors(ClassSE<?>... interceptorClasses)
合成 Bean アーカイブで有効なインターセプターのリストにインターセプタークラスを追加します。abstract SeContainer
initialize()
CDI SeContainerInitializer を初期化します。static SeContainerInitializer
newInstance()
SeContainerInitializer
のインスタンスを返します。各呼び出しは新しいインスタンスを返しますabstract SeContainerInitializer
selectAlternatives(ClassSE<?>... alternativeClasses)
合成 Bean アーカイブの選択された代替のリストに代替クラスを追加します。abstract SeContainerInitializer
selectAlternativeStereotypes(ClassSE<? extends AnnotationSE>... alternativeStereotypeClasses)
合成 Bean アーカイブ用に選択された代替ステレオタイプのリストに代替ステレオタイプクラスを追加します。abstract SeContainerInitializer
setClassLoader(ClassLoaderSE classLoader)
ClassLoader
SE を設定します。abstract SeContainerInitializer
setProperties(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)
ClassLoader
SE を設定します。スキャンが有効になっている場合、指定されたClassLoader
SE は Bean アーカイブを自動的にスキャンします。- パラメーター:
classLoader
- 使用するクラスローダー- 戻り値:
- 自己
initialize
public abstract SeContainer initialize()
CDI SeContainerInitializer を初期化します。
アプリケーションサーバー内で呼び出すことはできません。
- 戻り値:
- コンテナーに関連付けられた
SeContainer
インスタンス。 - 例外:
UnsupportedOperationExceptionSE
- アプリケーションサーバー内で呼び出された場合