InvocationLocal

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 ThreadLocal. Queste variabili differiscono dalle loro controparti normali in quanto il codice in un'invocazione che accede a una (tramite il relativo metodo get) ha una propria copia della variabile inizializzata in modo indipendente. Le istanze InvocationLocal sono in genere campi statici privati nelle classi che vogliono associare lo stato a una chiamata.

Ogni chiamata è associata a una copia di una variabile basata sulle chiamate finché la chiamata è in corso e l'istanza InvocationLocal è accessibile. Al termine di un'invocazione, tutte le copie delle istanze locali di chiamata sono soggette alla raccolta del 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 l'invocazione è ancora in corso, non viene eseguita la raccolta dei rifiuti. Pertanto, la creazione di istanze locali o non statiche non è consigliata in quanto potrebbero crescere senza limiti.

Avviso: usa questa classe con parsimonia, perché le chiamate locali sono esaltate le variabili globali con 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" dell'invocazione corrente per questa variabile locale dell'invocazione.

Costruttori pubblici

InvocationLocal

public InvocationLocal ()

Metodi pubblici

ricevi

public final T get ()

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

Ritorni
T la copia di questo parametro locale dell'invocazione in esecuzione.

Metodi protetti

initialValue

protected T initialValue ()

Restituisce il "valore iniziale" dell'invocazione corrente per questa variabile locale dell'invocazione. Questo metodo verrà richiamato la prima volta che il codice in esecuzione nel contesto della chiamata accede alla variabile con il metodo get(). Viene garantito che questo metodo venga invocato al massimo una volta per chiamata.

Questa implementazione restituisce semplicemente null, ma può essere modificata creando una sottoclasse di InvocationLocal e sostituendo questo metodo.

Ritorni
T il valore iniziale per questa variabile basata sulle chiamate