Wywołanie lokalne
public
class
InvocationLocal
extends Object
java.lang.Object | |
↳ | com.android.tradefed.invoker.logger.InvocationLocal<T> |
Ta klasa udostępnia zmienne zakresu wywołania.
Mechanizm działa podobnie do funkcji ThreadLocal
. Zmienne te różnią się od
zwykłe odpowiedniki w tym kodzie w wywołaniu, które uzyskuje dostęp do danego kodu (za pomocą jego metody get
)
ma własną, niezależnie zainicjowaną kopię zmiennej. InvocationLocal
instancja
są zwykle prywatnymi polami statycznymi w klasach, które mają powiązać stan z wywołaniem.
Każde wywołanie jest powiązane z kopią zmiennej o zakresie na poziomie wywołania, o ile w tagu
trwa wywoływanie, a instancja InvocationLocal
jest dostępna. Po
ukończono, wszystkie jego kopie instancji lokalnych są poddawane czyszczenia.
(chyba że istnieją inne odniesienia do tych kopii).
Pamiętaj, że w przeciwieństwie do instancji ThreadLocal
, które nie są już przywoływane podczas
trwa wywoływanie, nie są pobierane do kosza. Tworzenie instancji lokalnych lub niestatycznych
dlatego nie są zalecane, ponieważ mogą rosnąć bez ograniczeń.
Ostrzeżenie: używaj tej klasy z umiarem, ponieważ zmienne globalne inwokacji są wychwalane przez zmienne globalne z wieloma pułapkami.
Podsumowanie
Konstruktory publiczne | |
---|---|
InvocationLocal()
|
Metody publiczne | |
---|---|
final
T
|
get()
Zwraca kopię tej zmiennej lokalnej wywołania, która jest obecnie wykonywana. |
Metody chronione | |
---|---|
T
|
initialValue()
Zwraca „wartość początkową” bieżącego wywołania dla tej zmiennej lokalnej wywołania. |
Konstruktory publiczne
Wywołanie lokalne
public InvocationLocal ()
Metody publiczne
odbierz
public final T get ()
Zwraca kopię tej zmiennej lokalnej wywołania, która jest obecnie wykonywana. Jeśli
zmienna nie ma wartości dla bieżącego wywołania, dlatego najpierw jest zainicjowana wartość
zwracany przez wywołanie metody initialValue()
.
Zwroty | |
---|---|
T |
aktualnie wykonywanej kopii tego wywołania lokalnego. |
Metody chronione
Wartość początkowa
protected T initialValue ()
Zwraca „wartość początkową” bieżącego wywołania dla tej zmiennej lokalnej wywołania. Ten
zostanie wywołana przy pierwszym wykonaniu kodu w kontekście wywołania
uzyskuje dostęp do zmiennej za pomocą metody get()
. Gwarantujemy, że ta metoda zostanie wywołana
maksymalnie raz na wywołanie.
Ta implementacja zwraca po prostu null
, ale można ją zmienić przez podklasę InvocationLocal
i zastąpienie tej metody.
Zwroty | |
---|---|
T |
wartość początkowa tej zmiennej o zakresie na poziomie wywołania |