インターフェース Context

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

    public interface Context

    任意のコンテキスト型の特定のスコープを持つコンテキストインスタンスを取得するための操作を提供します。Context のインスタンスは、コンテキストオブジェクトと呼ばれます。

    AlterableContext は CDI 1.1 で導入され、アプリケーションによって Bean インスタンスを破棄できるようになりました。拡張機能は Context ではなく AlterableContext を実装する必要があります。

    コンテキストオブジェクトは、Contextual の操作を呼び出して、コンテキストインスタンスを作成および破棄します。特に、コンテキストオブジェクトは、インスタンスを Contextual.destroy(Object, CreationalContext) に渡すことによって作成するコンテキストインスタンスを破棄します。破棄されたインスタンスは、その後 get() によって返されてはなりません。コンテキストオブジェクトは、インスタンスの作成時に Contextual.create() に渡したのと同じ CreationalContext のインスタンスを Contextual.destroy() に渡す必要があります。

    カスタムコンテキストオブジェクトは、AfterBeanDiscovery.addContext(Context) を使用してコンテナーに登録できます。

    作成者:
    Gavin King, Pete Muir
    • メソッドの詳細

      • getScope

        ClassSE<? extends AnnotationSE> getScope()
        コンテキストオブジェクトのスコープ型を取得します。
        戻り値:
        範囲
      • get

        <T> T get​(Contextual<T> contextual,
                  CreationalContext<T> creationalContext)
        特定のコンテキスト型の既存のインスタンスを返すか、Contextual.create(CreationalContext) を呼び出して新しいインスタンスを作成し、新しいインスタンスを返します。
        型パラメーター:
        T - コンテキスト型の型
        パラメーター:
        contextual - コンテキスト型
        creationalContext - 新しいインスタンスが作成されるコンテキスト
        戻り値:
        コンテキストインスタンス
        例外:
        ContextNotActiveException - コンテキストがアクティブでない場合
      • get

        <T> T get​(Contextual<T> contextual)
        特定のコンテキスト型の既存のインスタンスまたは null 値を返します。
        型パラメーター:
        T - コンテキスト型の型
        パラメーター:
        contextual - コンテキスト型
        戻り値:
        コンテキストインスタンス、または null 値
        例外:
        ContextNotActiveException - コンテキストがアクティブでない場合
      • isActive

        boolean isActive()
        コンテキストオブジェクトがアクティブかどうかを決定します。
        戻り値:
        コンテキストがアクティブな場合は true、それ以外の場合は false