Doa Lokal
public class InvocationLocal
extends Object
java.lang.Objek | |
↳ | com.android.tradefed.invoker.logger.InvocationLocal<T> |
Kelas ini menyediakan variabel cakupan pemanggilan.
Mekanismenya beroperasi mirip dengan ThreadLocal
. Variabel-variabel ini berbeda dari variabel normalnya dalam kode tersebut dalam pemanggilan yang mengakses satu (melalui metode get
) memiliki salinan variabelnya sendiri yang diinisialisasi secara independen. Instance InvocationLocal
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 pemanggilan selesai, semua salinan instance pemanggilan lokal akan dibuang ke pengumpulan sampah (kecuali ada referensi lain ke salinan ini).
Perhatikan bahwa tidak seperti instance ThreadLocal
yang tidak lagi direferensikan saat pemanggilan masih berlangsung, tidak ada sampah yang dikumpulkan. Oleh karena itu, membuat instance lokal atau non-statis tidak disarankan karena dapat berkembang tanpa batas.
Peringatan: Gunakan kelas ini dengan hemat karena pemanggilan lokal adalah variabel global yang diagungkan dengan banyak kendala yang sama.
Ringkasan
Konstruktor publik | |
---|---|
InvocationLocal () |
Metode publik | |
---|---|
final T | get () Mengembalikan salinan pemanggilan variabel lokal yang sedang dijalankan. |
Metode yang dilindungi | |
---|---|
T | initialValue () Mengembalikan "nilai awal" pemanggilan saat ini untuk variabel lokal pemanggilan ini. |
Konstruktor publik
Doa Lokal
public InvocationLocal ()
Metode publik
mendapatkan
public final T get ()
Mengembalikan salinan pemanggilan variabel lokal yang sedang dijalankan. Jika variabel tidak memiliki nilai untuk pemanggilan saat ini, variabel tersebut diinisialisasi terlebih dahulu ke nilai yang dikembalikan melalui panggilan ke metode initialValue()
.
Kembali | |
---|---|
T | salinan doa-lokal yang sedang dijalankan 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 kode pertama kali dieksekusi dalam konteks pemanggilan mengakses variabel dengan metode get()
. Metode ini dijamin akan dipanggil paling banyak satu kali per pemanggilan.
Implementasi ini hanya mengembalikan null
tetapi dapat diubah dengan mensubklasifikasikan InvocationLocal
dan mengganti metode ini.
Kembali | |
---|---|
T | nilai awal untuk variabel cakupan pemanggilan ini |