InwokacjaLokalna
public class InvocationLocal
extends Object
Obiekt Java.lang.Object | |
↳ | com.android.tradefed.invoker.logger.InvocationLocal<T> |
Ta klasa udostępnia zmienne zakresu wywołania.
Mechanizm działa podobnie do ThreadLocal
. Zmienne te różnią się od swoich normalnych odpowiedników w tym kodzie tym, że wywołanie, które uzyskuje do nich dostęp (poprzez metodę get
), ma własną, niezależnie zainicjowaną kopię zmiennej. InvocationLocal
instancje są zazwyczaj prywatnymi polami statycznymi w klasach, które chcą powiązać stan z wywołaniem.
Każde wywołanie jest powiązane z kopią zmiennej o zasięgu wywołania, o ile wywołanie jest w toku i instancja InvocationLocal
jest dostępna. Po zakończeniu wywołania wszystkie jego kopie instancji lokalnych wywołań podlegają wyrzucaniu elementów bezużytecznych (chyba że istnieją inne odniesienia do tych kopii).
Należy zauważyć, że w przeciwieństwie do instancji ThreadLocal
, do których nie ma już odniesień, gdy wywołanie jest nadal w toku, nie są zbierane elementy bezużyteczne. Dlatego nie zaleca się tworzenia instancji lokalnych lub niestatycznych, ponieważ mogą one rosnąć bez ograniczeń.
Ostrzeżenie: używaj tej klasy oszczędnie, ponieważ wywołania lokalne są gloryfikowanymi zmiennymi globalnymi z wieloma takimi samymi pułapkami.
Streszczenie
Konstruktorzy publiczni | |
---|---|
InvocationLocal () |
Metody publiczne | |
---|---|
final T | get () Zwraca kopię tej zmiennej lokalnej wywołania dla aktualnie wykonywanego wywołania. |
Metody chronione | |
---|---|
T | initialValue () Zwraca „wartość początkową” bieżącego wywołania dla tej zmiennej lokalnej wywołania. |
Konstruktorzy publiczni
InwokacjaLokalna
public InvocationLocal ()
Metody publiczne
Dostawać
public final T get ()
Zwraca kopię tej zmiennej lokalnej wywołania dla aktualnie wykonywanego wywołania. Jeśli zmienna nie ma wartości dla bieżącego wywołania, jest najpierw inicjalizowana wartością zwróconą przez wywołanie metody initialValue()
.
Zwroty | |
---|---|
T | kopia aktualnie wykonywanego wywołania tego wywołania-local. |
Metody chronione
wartość początkowa
protected T initialValue ()
Zwraca „wartość początkową” bieżącego wywołania dla tej zmiennej lokalnej wywołania. Metoda ta zostanie wywołana, gdy kod wykonywany po raz pierwszy w kontekście wywołania uzyska dostęp do zmiennej metodą get()
. Gwarantujemy, że ta metoda zostanie wywołana najwyżej raz na wywołanie.
Ta implementacja po prostu zwraca null
, ale można ją zmienić, podklasując InvocationLocal
i zastępując tę metodę.
Zwroty | |
---|---|
T | wartość początkowa tej zmiennej o zakresie wywołania |