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 Normale Gegenstücke in diesem Code bei einem Aufruf, der (über seine get-Methode) auf ein solches zugreift verfügt über eine eigene, unabhängig initialisierte Kopie der Variable. InvocationLocal Instanz sind typischerweise private statische Felder in Klassen, die einen Status mit einem Aufruf verknüpfen möchten.

Jeder Aufruf ist mit einer Kopie einer aufrufbezogenen Variablen verknüpft, solange der Parameter Der Aufruf wird ausgeführt und die Instanz InvocationLocal ist zugänglich. Nach einer -Aufruf abgeschlossen ist, werden alle Kopien von aufruflokalen Instanzen in einem automatischen Speicher abgelegt. Sammlung (es sei denn, es existieren andere Verweise auf diese Kopien).

Im Gegensatz zu ThreadLocal-Instanzen, auf die nicht mehr verwiesen wird, während der , die noch in Bearbeitung sind, werden nicht automatisch bereinigt. Lokale oder nicht-statische Instanzen erstellen wird daher nicht empfohlen, da sie unbegrenzt wachsen können.

Warnung: Verwenden Sie diese Klasse nur in Ausnahmefällen, da Aufruf-Locals globale Variablen mit dieselben Fallstricke.

Zusammenfassung

Öffentliche Konstruktoren

InvocationLocal()

Öffentliche Methoden

final T get()

Gibt die Kopie dieser lokalen Aufrufvariablen zurück.

Geschützte Methoden

T initialValue()

Gibt den Anfangswert des aktuellen Aufrufs zurück für diese Aufruf-Local-Variable.

Öffentliche Konstruktoren

InvocationLocal

public InvocationLocal ()

Öffentliche Methoden

get

public final T get ()

Gibt die Kopie dieser lokalen Aufrufvariablen zurück. Wenn die Variable hat für den aktuellen Aufruf keinen Wert. Sie wird zuerst mit dem Wert initialisiert. zurückgegeben, die durch einen Aufruf der Methode initialValue() zurückgegeben werden.

Returns
T die Kopie dieses Aufruf-Locals, die gerade ausgeführt wird.

Geschützte Methoden

Anfangswert

protected T initialValue ()

Gibt den Anfangswert des aktuellen Aufrufs zurück für diese Aufruf-Local-Variable. Dieses wird bei der ersten Ausführung des Codes im Kontext des -Aufrufs aufgerufen ruft die Variable mit der Methode get() auf. Diese Methode wird garantiert aufgerufen höchstens einmal pro Aufruf.

Diese Implementierung gibt einfach null zurück, kann aber geändert werden, indem eine Unterklasse von InvocationLocal erstellt und diese Methode überschrieben wird.

Returns
T den Anfangswert für diese aufrufbezogene Variable