InvocationLocal

public class InvocationLocal
extends Object

java.lang.Object
com.android.tradefed.invoker.logger.InvocationLocal<T>


Diese Klasse stellt Aufrufbereichsvariablen bereit.

Der Mechanismus funktioniert ähnlich wie ThreadLocal . Diese Variablen unterscheiden sich von ihren normalen Gegenstücken darin, dass ein Aufruf, der auf einen zugreift (über seine get -Methode), eine eigene, unabhängig initialisierte Kopie der Variablen hat. InvocationLocal -Instanzen sind in der Regel private statische Felder in Klassen, die einen Zustand mit einem Aufruf verknüpfen möchten.

Jeder Aufruf ist einer Kopie einer aufrufbezogenen Variablen zugeordnet, solange der Aufruf ausgeführt wird und auf die InvocationLocal -Instanz zugegriffen werden kann. Nachdem ein Aufruf abgeschlossen ist, werden alle seine Kopien von aufruflokalen Instanzen der Garbage Collection unterzogen (sofern keine anderen Verweise auf diese Kopien vorhanden sind).

Beachten Sie, dass im Gegensatz zu ThreadLocal Instanzen, auf die nicht mehr verwiesen wird, während der Aufruf noch ausgeführt wird, keine Garbage Collection erfolgt. Das Erstellen lokaler oder nicht statischer Instanzen wird daher nicht empfohlen, da sie unbegrenzt wachsen könnten.

Warnung: Verwenden Sie diese Klasse sparsam, da Aufruflokale verherrlichte globale Variablen mit vielen der gleichen Fallstricke sind.

Zusammenfassung

Öffentliche Konstrukteure

InvocationLocal ()

Öffentliche Methoden

final T get ()

Gibt die Kopie dieser invokationslokalen Variable des aktuell ausgeführten Aufrufs zurück.

Geschützte Methoden

T initialValue ()

Gibt den "Anfangswert" des aktuellen Aufrufs für diese lokale Variable des Aufrufs zurück.

Öffentliche Konstrukteure

InvocationLocal

public InvocationLocal ()

Öffentliche Methoden

erhalten

public final T get ()

Gibt die Kopie dieser invokationslokalen Variable des aktuell ausgeführten Aufrufs zurück. Wenn die Variable für den aktuellen Aufruf keinen Wert hat, wird sie zunächst mit dem Wert initialisiert, der durch einen Aufruf der Methode initialValue() zurückgegeben wird.

Kehrt zurück
T die aktuell ausgeführte Kopie dieses Aufrufs – lokal.

Geschützte Methoden

Ursprünglicher Wert

protected T initialValue ()

Gibt den "Anfangswert" des aktuellen Aufrufs für diese lokale Variable des Aufrufs zurück. Diese Methode wird aufgerufen, wenn der Code, der im Kontext des Aufrufs ausgeführt wird, zum ersten Mal mit der get() Methode auf die Variable zugreift. Diese Methode wird garantiert höchstens einmal pro Aufruf aufgerufen.

Diese Implementierung gibt einfach null zurück, kann aber durch Unterklassen von InvocationLocal und Überschreiben dieser Methode geändert werden.

Kehrt zurück
T der Anfangswert für diese aufrufbezogene Variable