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 |