インターフェース BeanContainer
- すべての既知のサブインターフェース:
BeanManager
,ELAwareBeanManager
BeanContainer
は、すべての CDI 環境で移植可能な機能を含む BeanManager
のスーパークラスです。
Bean のコンテキスト参照を取得するための操作と、CDI アプリケーションに使用される他の多くの操作を提供します。
Bean は、次のように挿入することで BeanContainer
のインスタンスを取得できます。
@Inject BeanContainer container;
- 導入:
- 4.0
- 作成者:
- Matej Novotny
メソッドのサマリー
修飾子と型メソッド説明<T> CreationalContext<T>
createCreationalContext
(Contextual<T> contextual) 指定されたコンテキスト型、または非コンテキストオブジェクトのCreationalContext
のインスタンスを取得します。Bean インスタンスにアクセスするためのInstance
オブジェクトを取得します。getBeans
(TypeSE beanType, AnnotationSE... qualifiers) 指定された必要な型と修飾子を持ち、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリで注入できる Bean のセットを返します。Jakarta EE 環境では、JNDI 環境名前空間からの Jakarta EE コンポーネント型安全解決の規則に従って、BeanManager
/BeanContainer
が取得されました。与えられた EL 名を持ち、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリで注入可能な Bean の集合、あるいは Jakarta EE 環境では、BeanManager
/BeanContainer
が得られた JNDI 環境名前空間の Jakarta EE コンポーネントを EL 名解決規則に従い返します。getContext
(ClassSE<? extends AnnotationSE> scopeType) 指定されたスコープのアクティブなコンテキストオブジェクトを取得します。getContexts
(ClassSE<? extends AnnotationSE> scopeType) 指定されたスコープのアクティブおよび非アクティブのすべてのコンテキストオブジェクトを取得します。getEvent()
指定された型java.lang.Object
および指定された修飾子@Default
を持つイベントのインスタンスを返します。Event
組み込み Bean 要件を注入せずに、型安全な同期または非同期のイベント起動を可能にします。getReference
(Bean<?> bean, TypeSE beanType, CreationalContext<?> ctx) Bean の特定の Bean および特定の Bean 型のコンテキスト参照を取得します。boolean
isInterceptorBinding
(ClassSE<? extends AnnotationSE> annotationType) 指定されたアノテーション型をテストして、それがインターセプターバインディング型であるかどうかを判断します。boolean
isMatchingBean
(SetSE<TypeSE> beanTypes, SetSE<AnnotationSE> beanQualifiers, TypeSE requiredType, SetSE<AnnotationSE> requiredQualifiers) 指定された Bean 型と修飾子を持つ Bean が、指定された必須型と必須修飾子を持つインジェクションポイントに割り当て可能な場合はtrue
を返し、そうでない場合はfalse
を返します。boolean
isMatchingEvent
(TypeSE specifiedType, SetSE<AnnotationSE> specifiedQualifiers, TypeSE observedEventType, SetSE<AnnotationSE> observedEventQualifiers) 指定された型と指定された修飾子を持つイベントが、指定された観測イベント型と観測イベント修飾子を持つオブザーバーメソッドと一致する場合はtrue
を返し、それ以外の場合はfalse
を返します。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>
あいまいな依存関係解決ルールを 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
Bean の特定の Bean および特定の Bean 型のコンテキスト参照を取得します。
- パラメーター:
bean
- Bean を表すBean
オブジェクトbeanType
- 返されるクライアントプロキシによって実装する必要がある Bean 型ctx
- 作成されたスコープDependent
のオブジェクトを破棄するために使用できるCreationalContext
- 戻り値:
- Bean を表すコンテキスト参照
- 例外:
IllegalArgumentExceptionSE
- 指定された型が指定された Bean の Bean 型でない場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterDeploymentValidation
イベントが発生する前。
createCreationalContext
指定されたコンテキスト型、または非コンテキストオブジェクトのCreationalContext
のインスタンスを取得します。- 型パラメーター:
T
- インスタンスの型- パラメーター:
contextual
-Contextual
、または非コンテキストオブジェクトの場合は null 値- 戻り値:
- 新しい
CreationalContext
getBeans
指定された必要な型と修飾子を持ち、BeanManager
/BeanContainer
が注入されたクラス、または Jakarta EE 環境の場合は JNDI 環境名前空間からの Jakarta EE コンポーネントを含むモジュールまたはライブラリに注入できる Bean のセットを返します。型安全解決の規則に従って、BeanManager
/BeanContainer
が取得されました。修飾子が指定されていない場合は、デフォルトの修飾子が使用されます。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のみを返すことに注意してください。- パラメーター:
beanType
- 必要な Bean 型qualifiers
- 必要な修飾子- 戻り値:
- 結果として得られる Bean のセット
- 例外:
IllegalArgumentExceptionSE
- 指定された型が型変数を表す場合IllegalArgumentExceptionSE
- 同じ非反復修飾子型の 2 つのインスタンスが指定されている場合IllegalArgumentExceptionSE
- 修飾子型ではないアノテーションのインスタンスが指定された場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
getBeans
与えられた EL 名を持ち、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリで注入可能な Bean の集合、あるいは Jakarta EE 環境では、BeanManager
/BeanContainer
が得られた JNDI 環境名前空間の Jakarta EE コンポーネントを EL 名解決規則に従い返します。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のみを返すことに注意してください。- パラメーター:
name
- EL 名- 戻り値:
- 結果として得られる Bean のセット
- 例外:
IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
resolve
あいまいな依存関係解決ルールを Bean のセットに適用します。AfterBeanDiscovery
イベントオブザーバーの呼び出し中に呼び出された場合、このメソッドはAfterBeanDiscovery
イベントが発生する前にコンテナーによって検出された Bean のみを返すことに注意してください。- 型パラメーター:
X
- Bean の一般的な型- パラメーター:
beans
- 指定された型の Bean のセット- 戻り値:
- 解決された Bean、または null または空のセットが渡された場合は null
- 例外:
AmbiguousResolutionException
- あいまいな依存関係解決ルールが失敗した場合IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterBeanDiscovery
イベントが発生する前。
resolveObserverMethods
イベントのオブザーバーメソッドの順序付けられたセットを返します。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
指定されたアノテーション型をテストして、それがスコープ型であるかどうかを判断します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型がスコープ型の場合は true
isNormalScope
指定されたアノテーション型をテストして、それが通常のスコープ型であるかどうかを判断します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型が通常のスコープ型の場合は
true
isQualifier
指定されたアノテーション型をテストして、それが修飾子型であるかどうかを判別します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型が修飾子型の場合は
true
isStereotype
指定されたアノテーション型をテストして、それがステレオタイプであるかどうかを判別します。- パラメーター:
annotationType
- アノテーション型- 戻り値:
- アノテーション型がステレオタイプの場合は
true
isInterceptorBinding
指定されたアノテーション型をテストして、それがインターセプターバインディング型であるかどうかを判断します。- パラメーター:
annotationType
- テストするアノテーション- 戻り値:
- アノテーション型がインターセプターバインディング型の場合は
true
getContext
指定されたスコープのアクティブなコンテキストオブジェクトを取得します。- パラメーター:
scopeType
- 範囲- 戻り値:
- コンテキストオブジェクト
- 例外:
ContextNotActiveException
- 指定されたスコープのアクティブなコンテキストオブジェクトがない場合IllegalArgumentExceptionSE
- 指定されたスコープに複数のアクティブなコンテキストオブジェクトがある場合
getContexts
指定されたスコープのアクティブおよび非アクティブのすべてのコンテキストオブジェクトを取得します。- パラメーター:
scopeType
- スコープ ;null
であってはなりません- 戻り値:
- コンテキストオブジェクトの不変コレクション。決して
null
ではありませんが、空である可能性があります
getEvent
指定された型java.lang.Object
および指定された修飾子@Default
を持つイベントのインスタンスを返します。Event
組み込み Bean 要件を注入せずに、型安全な同期または非同期のイベント起動を可能にします。- 戻り値:
- イベント・型が
Object
および修飾子@Default
である新しいEvent
オブジェクト - 導入:
- 2.0
createInstance
Bean インスタンスにアクセスするためのInstance
オブジェクトを取得します。返された
Instance
オブジェクトは、BeanManager
/BeanContainer
が注入されたクラスを含むモジュールまたはライブラリ、あるいは Jakarta EE 環境では、型安全解決の規則に従ってBeanContainer
が得られた JNDI 環境名前空間の Jakarta EE コンポーネントに注入可能な beans インスタンスにのみアクセスすることができます。この
Instance
で取得された依存スコープ Bean のインスタンスは、Instance.destroy(Object)
を呼び出して明示的に破棄する必要があります。修飾子が
Instance.select(java.lang.annotation.Annotation...)
メソッドに渡されない場合、@Default
修飾子が想定されます。- 戻り値:
- Bean インスタンスをリクエストする
Instance
オブジェクト - 例外:
IllegalStateExceptionSE
- アプリケーションの初期化中に呼び出された場合、AfterDeploymentValidation
イベントが発生する前。- 導入:
- 2.0
isMatchingBean
boolean isMatchingBean(SetSE<TypeSE> beanTypes, SetSE<AnnotationSE> beanQualifiers, TypeSE requiredType, SetSE<AnnotationSE> requiredQualifiers) 指定された Bean 型と修飾子を持つ Bean が、指定された必須型と必須修飾子を持つインジェクションポイントに割り当て可能な場合はtrue
を返し、そうでない場合はfalse
を返します。Bean および型安全解決の仕様に従って、
beanTypes
のセットには常にjava.lang.Object
が含まれると見なされます。beanTypes
内の有効な Bean 型ではない型は無視されます。beanQualifiers
のセットには常に@Any
が含まれると見なされ、@Any
と@Named
以外の修飾子が含まれていない場合は@Default
も含まれます。requiredQualifiers
のセットが空の場合は、@Default
が含まれると見なされます。引数のいずれかが
null
である場合、またはbeanQualifiers
またはrequiredQualifiers
のいずれかが修飾子アノテーションでない場合は、IllegalArgumentException
SE をスローします。- パラメーター:
beanTypes
- Bean Bean の型。null
であってはなりませんbeanQualifiers
- Bean の修飾子。null
であってはなりませんrequiredType
- インジェクションポイントの必須型。null
であってはなりませんrequiredQualifiers
- インジェクションポイントの必須修飾子。null
であってはなりません- 戻り値:
- 指定された Bean 型と修飾子を持つ Bean が、指定された必須型と必須修飾子を持つインジェクションポイントに割り当て可能な場合は
true
、そうでない場合はfalse
isMatchingEvent
boolean isMatchingEvent(TypeSE specifiedType, SetSE<AnnotationSE> specifiedQualifiers, TypeSE observedEventType, SetSE<AnnotationSE> observedEventQualifiers) 指定された型と指定された修飾子を持つイベントが、指定された観測イベント型と観測イベント修飾子を持つオブザーバーメソッドと一致する場合はtrue
を返し、それ以外の場合はfalse
を返します。オブザーバー解決の目的で、
specifiedType
はイベント型として直接使用され (この API にはイベントオブジェクトがないため)、specifiedQualifiers
はイベント修飾子として使用されます。イベントとオブザーバー解決の仕様に従って、イベント修飾子のセットには常に@Any
が含まれると見なされます。さらに、specifiedQualifiers
の空のセットは、@Default
を含むobservedEventQualifiers
のセットと一致すると見なされます。引数のいずれかが
null
である場合、specifiedType
に型変数が含まれている場合、またはspecifiedQualifiers
またはobservedEventQualifiers
のいずれかが修飾子アノテーションでない場合は、IllegalArgumentException
SE をスローします。- パラメーター:
specifiedType
- 指定されたイベントの種類。null
であってはなりませんspecifiedQualifiers
- イベントの指定された修飾子。null
であってはなりませんobservedEventType
- オブザーバーメソッドの観測イベント型。null
であってはなりませんobservedEventQualifiers
- オブザーバーメソッド上の観測イベント修飾子。null
であってはなりません- 戻り値:
- 指定された型と修飾子を持つイベントオブジェクトが、指定された観測イベント型と観測イベント修飾子を持つオブザーバーメソッドに通知する場合は
true
、そうでない場合はfalse