public final class SimpleResourceHolder extends ObjectSE
bind(Object, Object) は、キーごとに 1 つのリソースを上書きせずにサポートします。つまり、同じキーに新しいリソースを設定するには、その前にリソースを削除する必要があります。ただし、push(Object, Object) および pop(Object) を参照してください。
リソース管理コードは、has(Object) を介してスレッドにバインドされたリソースをチェックする必要があります。
このヘルパーは、トランザクション同期のケース向けには設計されていません。代わりに TransactionSynchronizationManager と ResourceHolder を使用してください。
| 修飾子と型 | メソッドと説明 |
|---|---|
static void | bind(ObjectSE key, ObjectSE value) 指定されたキーの指定されたリソースを現在のスレッドにバインドします。 |
static void | clear() 現在のスレッドのリソースをクリアします。 |
static ObjectSE | get(ObjectSE key) 現在のスレッドにバインドされている特定のキーのリソースを取得します。 |
static MapSE<ObjectSE, ObjectSE> | getResources() 現在のスレッドにバインドされているすべてのリソースを返します。 |
static boolean | has(ObjectSE key) 現在のスレッドにバインドされた特定のキーのリソースがあるかどうかを確認します。 |
static ObjectSE | pop(ObjectSE key) 現在の値をバインド解除し、存在する場合はスタックの先頭をバインドします。 |
static void | push(ObjectSE key, ObjectSE value) このキーの値を設定し、既存の値をスタックにプッシュします。 |
static ObjectSE | unbind(ObjectSE key) 現在のスレッドから指定されたキーのリソースをアンバインドします。 |
static ObjectSE | unbindIfPossible(ObjectSE key) 現在のスレッドから指定されたキーのリソースをアンバインドします。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static MapSE<ObjectSE,ObjectSE> getResources()
主にデバッグを目的としています。リソースマネージャーは、関心のある特定のリソースキーに対して常に hasResource を呼び出す必要があります。
has(java.lang.Object)public static boolean has(ObjectSE key)
key - チェックするキー (通常、リソースファクトリ)@Nullable public static ObjectSE get(ObjectSE key)
key - チェックするキー (通常、リソースファクトリ)null public static void bind(ObjectSE key, ObjectSE value)
key - 値をバインドするキー (通常、リソースファクトリ)value - バインドする値 (通常、アクティブなリソースオブジェクト)IllegalStateExceptionSE - すでにスレッドにバインドされている値がある場合 public static void push(ObjectSE key, ObjectSE value)
key - キー。value - 値。@Nullable public static ObjectSE pop(ObjectSE key)
key - キー。public static ObjectSE unbind(ObjectSE key) throws IllegalStateExceptionSE
key - バインドを解除するキー (通常、リソースファクトリ)IllegalStateExceptionSE - スレッドにバインドされた値がない場合 @Nullable public static ObjectSE unbindIfPossible(ObjectSE key)
key - バインドを解除するキー (通常、リソースファクトリ)null public static void clear()