InvocationLocal

public class InvocationLocal
extends Object

java.lang.Object
   ↳ com.android.tradefed.invoker.logger.InvocationLocal<T>


このクラスは、呼び出しスコープ変数を提供します。

このメカニズムは ThreadLocal と同様に動作します。これらの変数は、 通常の対応するもの。(get メソッドを介して)コードにアクセスする呼び出し内のコード内の対応するもの 独自に初期化された変数のコピーを持ちます。InvocationLocal 個のインスタンス 通常は、状態を呼び出しと関連付けたいクラスの非公開の静的フィールドです。

スコープが 2 つである限り、各呼び出しは呼び出しスコープ変数のコピーに関連付けられます。 呼び出しが進行中で、InvocationLocal インスタンスにアクセスできる。イベントの後に 呼び出しが完了したら、呼び出し側のローカル インスタンスのすべてのコピーがガベージ データの対象になります。 コレクション(これらのコピーへの他の参照が存在する場合を除く)

なお、参照されなくなった ThreadLocal インスタンスとは異なり、 呼び出しがまだ進行中である場合、ガベージ コレクションは行われません。ローカル インスタンスまたは非静的インスタンスの作成 無制限に成長する可能性があるため、おすすめしません。

警告: 呼び出しローカルは美化され、名前が付けられたグローバル変数であるため、このクラスは慎重に使用してください。 同じ落とし穴がたくさんあります

概要

パブリック コンストラクタ

InvocationLocal()

パブリック メソッド

final T get()

現在実行している呼び出しのこの呼び出しローカル変数のコピーを返します。

保護されたメソッド

T initialValue()

現在の呼び出しの「初期値」を返しますこの呼び出しローカル変数の属性を指定します。

パブリック コンストラクタ

InvocationLocal

public InvocationLocal ()

パブリック メソッド

get

public final T get ()

現在実行している呼び出しのこの呼び出しローカル変数のコピーを返します。もし 変数が現在の呼び出しに値を持たない場合、最初にその値に初期化されます。 initialValue() メソッドの呼び出しによって返されます。

戻り値
T この invocation-local の現在実行中の呼び出しのコピー。

保護されたメソッド

initialValue

protected T initialValue ()

現在の呼び出しの「初期値」を返しますこの呼び出しローカル変数の属性を指定します。この メソッドが、呼び出しのコンテキストで初めてコードを実行したときに呼び出されます。 get() メソッドを使用して変数にアクセスします。このメソッドは必ず 最大 1 つまでです

この実装は単に null を返しますが、InvocationLocal をサブクラス化してこのメソッドをオーバーライドすることで変更できます。

戻り値
T この呼び出しスコープ変数の初期値