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 |