インターフェース BeanContainer
- すべての既知のサブインターフェース:
BeanManager
public interface BeanContainer
BeanContainer
は、すべての CDI 環境で移植可能な機能を含むBeanManager
のスーパークラスです。Bean のコンテキスト参照を取得するための操作と、CDI アプリケーションに使用される他の多くの操作を提供します。
Bean は、次のように挿入することで
BeanContainer
のインスタンスを取得できます。@Inject BeanContainer container;
- 作成者:
- Matej Novotny
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 <T> CreationalContext<T>
createCreationalContext(Contextual<T> contextual)
指定されたコンテキスト型、または非コンテキストオブジェクトのCreationalContext
のインスタンスを取得します。Instance<ObjectSE>
createInstance()
Bean インスタンスにアクセスするためのInstance
オブジェクトを取得します。SetSE<Bean<?>>
getBeans(TypeSE beanType, AnnotationSE... qualifiers)
指定された必要な型と修飾子を持ち、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリで注入できる Bean のセットを返します。Jakarta EE 環境では、JNDI 環境名前空間からの Jakarta EE コンポーネント型安全解決の規則に従って、BeanManager
/BeanContainer
が取得されました。SetSE<Bean<?>>
getBeans(StringSE name)
与えられた EL 名を持ち、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリで注入可能な Bean の集合、あるいは Jakarta EE 環境では、BeanManager
/BeanContainer
が得られた JNDI 環境名前空間の Jakarta EE コンポーネントを EL 名解決規則に従い返します。Context
getContext(ClassSE<? extends AnnotationSE> scopeType)
指定されたスコープのアクティブなコンテキストオブジェクトを取得します。Event<ObjectSE>
getEvent()
指定された型java.lang.Object
および指定された修飾子@Default
を持つイベントのインスタンスを返します。Event
組み込み Bean 要件を注入せずに、型安全な同期または非同期のイベント起動を可能にします。ObjectSE
getReference(Bean<?> bean, TypeSE beanType, CreationalContext<?> ctx)
Bean の特定の Bean および特定の Bean 型のコンテキスト参照を取得します。boolean
isInterceptorBinding(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それがインターセプターバインディング型であるかどうかを判断します。boolean
isNormalScope(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それが通常のスコープ型であるかどうかを判断します。boolean
isQualifier(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それが修飾子型であるかどうかを判別します。boolean
isScope(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それがスコープ型であるかどうかを判断します。boolean
isStereotype(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それがステレオタイプであるかどうかを判別します。<X> Bean<? extends X>
resolve(SetSE<Bean<? extends X>> beans)
あいまいな依存関係解決ルールを Bean のセットに適用します。ListSE<Interceptor<?>>
resolveInterceptors(InterceptionType type, AnnotationSE... interceptorBindings)
インターセプターバインディングのセットとインターセプションの型に対して有効なインターセプターの順序付きリストを返します。これらのインターセプターは、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリ、または Jakarta EE 環境では、BeanManager
/BeanContainer
が取得された JNDI 環境名前空間を持つ Jakarta EE コンポーネントで有効になっています。<T> SetSE<ObserverMethod<? super T>>
resolveObserverMethods(T event, AnnotationSE... qualifiers)
イベントのオブザーバーメソッドの順序付けられたセットを返します。
メソッドの詳細
getReference
ObjectSE getReference(Bean<?> bean, TypeSE beanType, CreationalContext<?> ctx)
Bean の特定の Bean および特定の Bean 型のコンテキスト参照を取得します。
- パラメーター:
bean
- Bean を表すBean
オブジェクトbeanType
- 返されるクライアントプロキシによって実装する必要がある Bean 型ctx
- 作成されたスコープDependent
のオブジェクトを破棄するために使用できるCreationalContext
- 戻り値:
- Bean を表すコンテキスト参照
- 例外:
IllegalArgumentExceptionSE
- 指定された型が指定された Bean の Bean 型でない場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterDeploymentValidation
イベントが発生する前。
createCreationalContext
<T> CreationalContext<T> createCreationalContext(Contextual<T> contextual)
指定されたコンテキスト型、または非コンテキストオブジェクトのCreationalContext
のインスタンスを取得します。- 型パラメーター:
T
- インスタンスの型- パラメーター:
contextual
-Contextual
、または非コンテキストオブジェクトの場合は null 値- 戻り値:
- 新しい
CreationalContext
getBeans
SetSE<Bean<?>> getBeans(TypeSE beanType, AnnotationSE... qualifiers)
指定された必要な型と修飾子を持ち、BeanManager
/BeanContainer
が注入されたクラス、または Jakarta EE 環境の場合は JNDI 環境名前空間からの Jakarta EE コンポーネントを含むモジュールまたはライブラリに注入できる Bean のセットを返します。型安全解決の規則に従って、BeanManager
/BeanContainer
が取得されました。修飾子が指定されていない場合は、デフォルトの修飾子が使用されます。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のみを返すことに注意してください。- パラメーター:
beanType
- 必要な Bean 型qualifiers
- 必要な修飾子- 戻り値:
- 結果として得られる Bean のセット
- 例外:
IllegalArgumentExceptionSE
- 指定された型が型変数を表す場合IllegalArgumentExceptionSE
- 同じ非反復修飾子型の 2 つのインスタンスが指定されている場合IllegalArgumentExceptionSE
- 修飾子型ではないアノテーションのインスタンスが指定された場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
getBeans
SetSE<Bean<?>> getBeans(StringSE name)
与えられた EL 名を持ち、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリで注入可能な Bean の集合、あるいは Jakarta EE 環境では、BeanManager
/BeanContainer
が得られた JNDI 環境名前空間の Jakarta EE コンポーネントを EL 名解決規則に従い返します。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のみを返すことに注意してください。- パラメーター:
name
- EL 名- 戻り値:
- 結果として得られる Bean のセット
- 例外:
IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
resolve
<X> Bean<? extends X> resolve(SetSE<Bean<? extends X>> beans)
あいまいな依存関係解決ルールを Bean のセットに適用します。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のみを返すことに注意してください。- 型パラメーター:
X
- Bean の一般的な型- パラメーター:
beans
- 指定された型の Bean のセット- 戻り値:
- 解決された Bean、または null または空のセットが渡された場合は null
- 例外:
AmbiguousResolutionException
- あいまいな依存関係解決ルールが失敗した場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
resolveObserverMethods
<T> SetSE<ObserverMethod<? super T>> resolveObserverMethods(T event, AnnotationSE... qualifiers)
イベントのオブザーバーメソッドの順序付けられたセットを返します。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出されたオブザーバーのみを返すことに注意してください。- 型パラメーター:
T
- イベントの型- パラメーター:
event
- イベントオブジェクトqualifiers
- イベント修飾子- 戻り値:
- 結果として得られるオブザーバーメソッドのセット
- 例外:
IllegalArgumentExceptionSE
- イベントオブジェクトの実行時型に型変数が含まれる場合IllegalArgumentExceptionSE
- 同じ非反復修飾子型の 2 つのインスタンスが指定されている場合IllegalArgumentExceptionSE
- 修飾子型ではないアノテーションのインスタンスが指定された場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
resolveInterceptors
ListSE<Interceptor<?>> resolveInterceptors(InterceptionType type, AnnotationSE... interceptorBindings)
インターセプターバインディングのセットとインターセプションの型に対して有効なインターセプターの順序付きリストを返します。これらのインターセプターは、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリ、または Jakarta EE 環境では、BeanManager
/BeanContainer
が取得された JNDI 環境名前空間を持つ Jakarta EE コンポーネントで有効になっています。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドは、AfterBeanDiscovery
イベントが発生する前にコンテナーによって検出されたインターセプターのみを返すことに注意してください。- パラメーター:
type
- 遮断の型interceptorBindings
- インターセプターのバインディング- 戻り値:
- 結果として得られるインターセプターのセット
- 例外:
IllegalArgumentExceptionSE
- インターセプターバインディング型が指定されていない場合IllegalArgumentExceptionSE
- 同じインターセプターバインディング型の 2 つのインスタンスが指定されている場合IllegalArgumentExceptionSE
- インターセプターバインディング型ではないアノテーションのインスタンスが指定された場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
isScope
boolean isScope(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それがスコープ型であるかどうかを判断します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型がスコープ型の場合は true
isNormalScope
boolean isNormalScope(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それが通常のスコープ型であるかどうかを判断します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型が通常のスコープ型の場合は
true
isQualifier
boolean isQualifier(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それが修飾子型であるかどうかを判別します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型が修飾子型の場合は
true
isStereotype
boolean isStereotype(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それがステレオタイプであるかどうかを判別します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型がステレオタイプの場合は
true
isInterceptorBinding
boolean isInterceptorBinding(ClassSE<? extends AnnotationSE> annotationType)
指定されたアノテーション型をテストして、それがインターセプターバインディング型であるかどうかを判断します。- パラメーター:
annotationType
- テストするアノテーション- 戻り値:
- アノテーション型がインターセプターバインディング型の場合は
true
getContext
Context getContext(ClassSE<? extends AnnotationSE> scopeType)
指定されたスコープのアクティブなコンテキストオブジェクトを取得します。- パラメーター:
scopeType
- 範囲- 戻り値:
- コンテキストオブジェクト
- 例外:
ContextNotActiveException
- 指定されたスコープのアクティブなコンテキストオブジェクトがない場合IllegalArgumentExceptionSE
- 指定されたスコープに複数のアクティブなコンテキストオブジェクトがある場合
getEvent
Event<ObjectSE> getEvent()
指定された型java.lang.Object
および指定された修飾子@Default
を持つイベントのインスタンスを返します。Event
組み込み Bean 要件を注入せずに、型安全な同期または非同期のイベント起動を可能にします。- 戻り値:
- イベント・型が
Object
および修飾子@Default
である新しいEvent
オブジェクト - 導入:
- 2.0
createInstance
Instance<ObjectSE> createInstance()
Bean インスタンスにアクセスするためのInstance
オブジェクトを取得します。返された
Instance
オブジェクトは、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリ、あるいは Jakarta EE 環境では、型安全解決の規則に従ってBeanContainer
が得られた JNDI 環境名前空間の Jakarta EE コンポーネントに注入可能な beans インスタンスにのみアクセスすることができます。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドによって返されるInstance
は、AfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のインスタンスへのアクセスのみを与えることに注意してください。この
Instance
で取得された依存スコープ Bean のインスタンスは、Instance.destroy(Object)
を呼び出して明示的に破棄する必要があります。修飾子が
Instance.select(java.lang.annotation.Annotation...)
メソッドに渡されない場合、@Default
修飾子が想定されます。- 戻り値:
- Bean インスタンスをリクエストする
Instance
オブジェクト - 例外:
IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterDeploymentValidation
イベントが発生する前。- 導入:
- 2.0