インターフェース BeanContainer

すべての既知のサブインターフェース:
BeanManagerELAwareBeanManager

public interface BeanContainer

BeanContainer は、すべての CDI 環境で移植可能な機能を含む BeanManager のスーパークラスです。

Bean のコンテキスト参照を取得するための操作と、CDI アプリケーションに使用される他の多くの操作を提供します。

Bean は、次のように挿入することで BeanContainer のインスタンスを取得できます。

 @Inject
 BeanContainer container;
 
導入:
4.0
作成者:
Matej Novotny
  • メソッドの詳細

    • 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 - 指定されたスコープに複数のアクティブなコンテキストオブジェクトがある場合
    • getContexts

      CollectionSE<Context> getContexts(ClassSE<? extends AnnotationSE> scopeType)
      指定されたスコープのアクティブおよび非アクティブのすべてのコンテキストオブジェクトを取得します。
      パラメーター:
      scopeType - スコープ null であってはなりません
      戻り値:
      コンテキストオブジェクトの不変コレクション。決して null ではありませんが、空である可能性があります
    • 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 インスタンスにのみアクセスすることができます。

      この 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 のいずれかが修飾子アノテーションでない場合は、IllegalArgumentExceptionSE をスローします。

      パラメーター:
      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 のいずれかが修飾子アノテーションでない場合は、IllegalArgumentExceptionSE をスローします。

      パラメーター:
      specifiedType - 指定されたイベントの種類。null であってはなりません
      specifiedQualifiers - イベントの指定された修飾子。null であってはなりません
      observedEventType - オブザーバーメソッドの観測イベント型。null であってはなりません
      observedEventQualifiers - オブザーバーメソッド上の観測イベント修飾子。null であってはなりません
      戻り値:
      指定された型と修飾子を持つイベントオブジェクトが、指定された観測イベント型と観測イベント修飾子を持つオブザーバーメソッドに通知する場合は true、そうでない場合は false