InvocationLocal

public class InvocationLocal
extends Object

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


Diese Klasse stellt Variablen für den Aufrufbereich bereit.

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

Jeder Aufruf ist mit einer Kopie einer Variable im Aufrufbereich verknüpft, solange der Aufruf ausgeführt wird und auf die InvocationLocal Instanz zugegriffen werden kann. Nachdem ein Aufruf abgeschlossen ist, unterliegen alle seine Kopien der aufruflokalen Instanzen der Garbage Collection (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 läuft, keine Garbage Collection durchgeführt wird. Das Erstellen lokaler oder nicht statischer Instanzen wird daher nicht empfohlen, da diese unbegrenzt wachsen können.

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

Zusammenfassung

Öffentliche Bauträger

InvocationLocal ()

Öffentliche Methoden

final T get ()

Gibt die Kopie dieser aufruflokalen Variablen des aktuell ausgeführten Aufrufs zurück.

Geschützte Methoden

T initialValue ()

Gibt den „Anfangswert“ des aktuellen Aufrufs für diese aufruflokale Variable zurück.

Öffentliche Bauträger

InvocationLocal

public InvocationLocal ()

Öffentliche Methoden

erhalten

public final T get ()

Gibt die Kopie dieser aufruflokalen Variablen 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 Kopie dieses Aufruflokals des aktuell ausgeführten Aufrufs.

Geschützte Methoden

Ursprünglicher Wert

protected T initialValue ()

Gibt den „Anfangswert“ des aktuellen Aufrufs für diese aufruflokale Variable zurück. Diese Methode wird aufgerufen, wenn der im Kontext des Aufrufs ausgeführte Code 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 Unterklassifizierung InvocationLocal und Überschreiben dieser Methode geändert werden.

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