- 含まれているクラス:
ScopedValue<T>
Carrier
を使用してマッピングを蓄積し、マッピング内のすべてのスコープ値を使用して操作(Runnable
またはCallable
)を値にバインドして実行できるようにします。 次の例では、k1
が(またはリ・バウンド)をv1
にバインドし、k2
が(またはリ・バウンド)をv2
にバインドした操作を実行します。
Carrier
は不変でスレッド・セーフです。 where
メソッドは、新しいCarrier
オブジェクトを返し、既存のマッピングを変更しません。
特に指定しないかぎり、このクラスのメソッドにnull
引数を渡すと、NullPointerException
がスローされます。
- 導入されたバージョン:
- 20
-
メソッドのサマリー
修飾子と型メソッド説明<R> R
このマッピングの各スコープ値を使用して、現在のスレッドの値にバインドされた値を返す操作をコールします。<T> T
get
(ScopedValue<T> key) このマッピングのScopedValue
の値を返します。void
このマッピング内の各スコープ値を現在のスレッド内の値にバインドした操作を実行します。where
(ScopedValue<T> key, T value) このキャリアからのマッピングに加えて、key
からvalue
への新しいマッピングを含む新しいCarrier
を返します。
-
メソッドの詳細
-
where
public <T> ScopedValue.Carrier where(ScopedValue<T> key, T value) このキャリアからのマッピングに加えて、key
からvalue
への新しいマッピングを含む新しいCarrier
を返します。 このキャリアにスコープ値key
のマッピングがすでにある場合は、新しいvalue
にマップされます。 現在のキャリアは不変であるため、このメソッドでは変更されません。- 型パラメータ:
T
- 値の型- パラメータ:
key
-ScopedValue
キーvalue
- 値はnull
です- 戻り値:
- このキャリアからのマッピングと新しいマッピングを含む新しい
Carrier
-
get
public <T> T get(ScopedValue<T> key) このマッピングのScopedValue
の値を返します。- 型パラメータ:
T
- 値の型- パラメータ:
key
-ScopedValue
キー- 戻り値:
- 値
- 例外:
NoSuchElementException
- キーがこのマッピングに存在しない場合
-
call
このマッピングの各スコープ値を使用して、現在のスレッドの値にバインドされた値を返す操作をコールします。 操作が(通常または例外あり)を完了すると、マッピング内の各スコープ値は、現在のスレッドでバインドされていない値に戻されるか、以前バインドされた場合は以前の値に戻されます。スコープ値は、「構造化方式」で使用することを目的としています。
op
によってStructuredTaskScope
が作成され、「閉じる」が作成されない場合、op
を終了すると、動的スコープで作成された各StructuredTaskScope
の基礎となる構成がクローズされます。 すべての子スレッドがサブタスクを完了するまで、ブロックが必要になる場合があります。 クローズは、作成された順序とは逆の順序で実行されます。 クローズすると、StructureViolationException
がスローされます。- 型パラメータ:
R
- 操作の結果のタイプ- パラメータ:
op
- 実行する操作- 戻り値:
- 結果
- 例外:
Exception
-op
が例外ありで完了した場合- 関連項目:
-
run
public void run(Runnable op) このマッピング内の各スコープ値を現在のスレッド内の値にバインドした操作を実行します。 操作が(通常または例外あり)を完了すると、マッピング内の各スコープ値は、現在のスレッドでバインドされていない値に戻されるか、以前バインドされた場合は以前の値に戻されます。スコープ値は、「構造化方式」で使用することを目的としています。
op
によってStructuredTaskScope
が作成され、「閉じる」が作成されない場合、op
を終了すると、動的スコープで作成された各StructuredTaskScope
の基礎となる構成がクローズされます。 すべての子スレッドがサブタスクを完了するまで、ブロックが必要になる場合があります。 クローズは、作成された順序とは逆の順序で実行されます。 クローズすると、StructureViolationException
がスローされます。- パラメータ:
op
- 実行する操作- 関連項目:
-