インターフェース BeanContainer

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

    public interface BeanContainer

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

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

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

     @Inject
     BeanContainer container;
     
    作成者:
    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 
      • 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