InvokasiLokal
public class InvocationLocal
extends Object
java.lang.Objek | |
↳ | com.android.tradefed.invoker.logger.InvocationLocal<T> |
Kelas ini menyediakan variabel lingkup pemanggilan.
Mekanismenya beroperasi mirip dengan ERROR(/ThreadLocal)
. Variabel-variabel ini berbeda dari rekan normal mereka dalam kode itu dalam doa yang mengakses satu (melalui metode get
nya) memiliki salinan variabelnya sendiri yang diinisialisasi secara independen. Contoh InvocationLocal
biasanya bidang statis pribadi di kelas yang ingin mengasosiasikan negara dengan doa.
Setiap pemanggilan dikaitkan dengan salinan variabel cakupan pemanggilan selama pemanggilan sedang berlangsung dan instance InvocationLocal
dapat diakses. Setelah pemanggilan selesai, semua salinan pemanggilan-instans lokal tunduk pada pengumpulan sampah (kecuali ada referensi lain untuk salinan ini).
Perhatikan bahwa tidak seperti instance ERROR(/ThreadLocal)
yang tidak lagi direferensikan saat pemanggilan masih berlangsung, bukan sampah yang dikumpulkan. Oleh karena itu, membuat instance lokal atau non-statis tidak disarankan karena dapat tumbuh tanpa terikat.
Peringatan: Gunakan kelas ini dengan hemat karena pemanggilan-lokal adalah variabel global yang dimuliakan dengan banyak jebakan yang sama.
Ringkasan
Konstruktor publik | |
---|---|
InvocationLocal () |
Metode publik | |
---|---|
final T | get () Mengembalikan salinan pemanggilan yang sedang dieksekusi dari variabel lokal pemanggilan ini. |
Metode yang dilindungi | |
---|---|
T | initialValue () Mengembalikan "nilai awal" pemanggilan saat ini untuk variabel lokal pemanggilan ini. |
Konstruktor publik
InvokasiLokal
public InvocationLocal ()
Metode publik
mendapatkan
public final T get ()
Mengembalikan salinan pemanggilan yang sedang dieksekusi dari variabel lokal pemanggilan ini. Jika variabel tidak memiliki nilai untuk pemanggilan saat ini, pertama-tama variabel tersebut diinisialisasi ke nilai yang dikembalikan oleh panggilan ke metode initialValue()
.
Pengembalian | |
---|---|
T | salinan doa lokal yang sedang dieksekusi ini. |
Metode yang dilindungi
nilai awal
protected T initialValue ()
Mengembalikan "nilai awal" pemanggilan saat ini untuk variabel lokal pemanggilan ini. Metode ini akan dipanggil saat pertama kali mengeksekusi kode dalam konteks pemanggilan mengakses variabel dengan metode get()
. Metode ini dijamin akan dipanggil paling banyak sekali per pemanggilan.
Implementasi ini hanya mengembalikan null
tetapi dapat diubah dengan mensubklasifikasikan InvocationLocal
dan mengganti metode ini.
Pengembalian | |
---|---|
T | nilai awal untuk variabel cakupan pemanggilan ini |