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