Chiamata locale

public class InvocationLocal
extends Object

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


Questa classe fornisce variabili con ambito di chiamata.

Il meccanismo funziona in modo simile a quello di ThreadLocal. Queste variabili differiscono dai loro controparti normali in quel codice in una chiamata che accede a una (tramite il suo metodo get) ha una copia della variabile inizializzata in modo indipendente. InvocationLocal istanza In genere sono campi statici privati nelle classi che vogliono associare uno stato a una chiamata.

Ogni chiamata è associata a una copia di una variabile con ambito di chiamata, purché la è in corso la chiamata e l'istanza InvocationLocal è accessibile. Dopo un la chiamata è completa, tutte le relative copie delle istanze locali di chiamata sono soggette a garbage (a meno che non esistano altri riferimenti a queste copie).

Tieni presente che, a differenza delle istanze ThreadLocal a cui non viene più fatto riferimento mentre La chiamata è ancora in corso e non viene eseguita la garbage collection. Creazione di istanze locali o non statiche pertanto non sono consigliati, in quanto potrebbero crescere senza limiti.

Avviso: usa questa classe con parsimonia, perché le variabili globali di chiamata sono esaltate molte delle stesse insidie.

Riepilogo

Costruttori pubblici

InvocationLocal()

Metodi pubblici

final T get()

Restituisce la copia della chiamata attualmente in esecuzione di questa variabile locale di chiamata.

Metodi protetti

T initialValue()

Restituisce il "valore iniziale" della chiamata corrente per questa variabile invocation-local.

Costruttori pubblici

Chiamata locale

public InvocationLocal ()

Metodi pubblici

ricevi

public final T get ()

Restituisce la copia della chiamata attualmente in esecuzione di questa variabile locale di chiamata. Se non ha un valore per la chiamata corrente, viene prima inizializzata nel valore restituito da una chiamata al metodo initialValue().

Ritorni
T la copia della chiamata attualmente in esecuzione di questo invocation-local.

Metodi protetti

Valoreiniziale

protected T initialValue ()

Restituisce il "valore iniziale" della chiamata corrente per questa variabile invocation-local. Questo verrà richiamato alla prima esecuzione del codice nel contesto della chiamata accede alla variabile con il metodo get(). È garantito che questo metodo venga richiamato al massimo una volta per chiamata.

Questa implementazione restituisce semplicemente null, ma può essere modificata mediante la creazione di sottoclassi InvocationLocal e l'override di questo metodo.

Ritorni
T il valore iniziale per questa variabile con ambito di chiamata