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 |
この呼び出しスコープ変数の初期値 |