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