InvocationLocal

public class InvocationLocal
extends Object

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


Class ini menyediakan variabel cakupan pemanggilan.

Mekanismenya beroperasi mirip dengan ThreadLocal. Variabel-variabel ini berbeda dari pasangan normal dalam kode tersebut dalam pemanggilan yang mengakses salah satunya (melalui metode get) memiliki salinan variabelnya sendiri yang diinisialisasi secara independen. InvocationLocal instance biasanya merupakan bidang statis pribadi di kelas yang ingin mengaitkan status dengan pemanggilan.

Setiap pemanggilan dikaitkan dengan salinan variabel cakupan pemanggilan selama pemanggilan sedang berlangsung dan instance InvocationLocal dapat diakses. Setelah panggilan selesai, semua salinan instance lokal pemanggilannya tunduk pada pembersihan sampah memori koleksi (kecuali jika ada referensi lain).

Perlu diketahui bahwa tidak seperti instance ThreadLocal yang tidak lagi direferensikan saat panggilan masih berlangsung tidak akan dibersihkan sampah memorinya. Membuat instance lokal atau non-statis oleh karena itu, tidak direkomendasikan karena dapat berkembang tanpa terikat.

Peringatan: Gunakan class ini seperlunya karena invocation-locals dihormati menjadi variabel global dengan banyak kesalahan yang sama.

Ringkasan

Konstruktor publik

InvocationLocal()

Metode publik

final T get()

Menampilkan salinan pemanggilan yang sedang dijalankan dari variabel lokal pemanggilan ini.

Metode yang dilindungi

T initialValue()

Menampilkan "nilai awal" pemanggilan saat ini untuk variabel invocation-local ini.

Konstruktor publik

InvocationLocal

public InvocationLocal ()

Metode publik

get

public final T get ()

Menampilkan salinan pemanggilan yang sedang dijalankan dari variabel lokal pemanggilan ini. Jika variabel tidak memiliki nilai untuk pemanggilan saat ini, variabel ini pertama kali diinisialisasi ke nilai ditampilkan oleh panggilan ke metode initialValue().

Hasil
T salinan pemanggilan lokal pemanggilan ini yang sedang dijalankan.

Metode yang dilindungi

initialValue

protected T initialValue ()

Menampilkan "nilai awal" pemanggilan saat ini untuk variabel invocation-local ini. Ini akan dipanggil saat kode pertama kali dieksekusi dalam konteks pemanggilan mengakses variabel dengan metode get(). Metode ini dijamin akan dipanggil paling banyak sekali per pemanggilan.

Implementasi ini hanya menampilkan null, tetapi dapat diubah dengan membuat subclass InvocationLocal dan mengganti metode ini.

Hasil
T nilai awal untuk variabel cakupan pemanggilan ini