クラス SimpleResourceHolder


  • public final class SimpleResourceHolder
    extends ObjectSE
    リソース管理コードで使用されるスレッドごとにリソースを管理する主要ヘルパー。

    bind(Object, Object) は、キーごとに 1 つのリソースを上書きせずにサポートします。つまり、同じキーに新しいリソースを設定するには、その前にリソースを削除する必要があります。ただし、push(Object, Object) および pop(Object) を参照してください。

    リソース管理コードは、has(Object) を介してスレッドにバインドされたリソースをチェックする必要があります。

    このヘルパーは、トランザクション同期のケース向けには設計されていません。代わりに TransactionSynchronizationManager と ResourceHolder を使用してください。

    導入:
    1.3
    作成者:
    Artem Bilan, Gary Russell
    • メソッドの詳細

      • getResources

        public static MapSE<ObjectSE,​ObjectSE> getResources()
        現在のスレッドにバインドされているすべてのリソースを返します。

        主にデバッグを目的としています。リソースマネージャーは、関心のある特定のリソースキーに対して常に hasResource を呼び出す必要があります。

        戻り値:
        リソースキー(通常はリソースファクトリ)とリソース値(通常はアクティブなリソースオブジェクト)を持つ Map、または現在バインドされているリソースがない場合は空の Map
        関連事項:
        has(java.lang.Object)
      • has

        public static boolean has​(ObjectSE key)
        現在のスレッドにバインドされた特定のキーのリソースがあるかどうかを確認します。
        パラメーター:
        key - チェックするキー (通常、リソースファクトリ)
        戻り値:
        現在のスレッドにバインドされた値がある場合
      • get

        @Nullable
        public static ObjectSE get​(ObjectSE key)
        現在のスレッドにバインドされている特定のキーのリソースを取得します。
        パラメーター:
        key - チェックするキー (通常、リソースファクトリ)
        戻り値:
        現在のスレッド(通常はアクティブなリソースオブジェクト)にバインドされた値、または存在しない場合は null 
      • bind

        public static void bind​(ObjectSE key,
                                ObjectSE value)
        指定されたキーの指定されたリソースを現在のスレッドにバインドします。
        パラメーター:
        key - 値をバインドするキー (通常、リソースファクトリ)
        value - バインドする値 (通常、アクティブなリソースオブジェクト)
        例外:
        IllegalStateExceptionSE - すでにスレッドにバインドされている値がある場合
      • push

        public static void push​(ObjectSE key,
                                ObjectSE value)
        このキーの値を設定し、既存の値をスタックにプッシュします。
        パラメーター:
        key - キー。
        value - 値。
        導入:
        2.1.11
      • pop

        @Nullable
        public static ObjectSE pop​(ObjectSE key)
        現在の値をバインド解除し、存在する場合はスタックの先頭をバインドします。
        パラメーター:
        key - キー。
        戻り値:
        ポップされた値。
        導入:
        2.1.11
      • unbind

        public static ObjectSE unbind​(ObjectSE key)
                             throws IllegalStateExceptionSE
        現在のスレッドから指定されたキーのリソースをアンバインドします。
        パラメーター:
        key - バインドを解除するキー (通常、リソースファクトリ)
        戻り値:
        以前にバインドされた値 (通常、アクティブなリソースオブジェクト)
        例外:
        IllegalStateExceptionSE - スレッドにバインドされた値がない場合
      • unbindIfPossible

        @Nullable
        public static ObjectSE unbindIfPossible​(ObjectSE key)
        現在のスレッドから指定されたキーのリソースをアンバインドします。
        パラメーター:
        key - バインドを解除するキー (通常、リソースファクトリ)
        戻り値:
        以前にバインドされた値、またはバインドされていない場合は null 
      • clear

        public static void clear()
        現在のスレッドのリソースをクリアします。