Appel local
public
class
InvocationLocal
extends Object
java.lang.Object | |
↳ | com.android.tradefed.invoker.logger.InvocationLocal<T> |
Cette classe fournit des variables dont la portée est définie au niveau de l'appel.
Le mécanisme fonctionne de la même manière que ThreadLocal
. Ces variables diffèrent
des équivalents normaux dans ce code dans un appel qui accède à un (via sa méthode get
) ;
possède sa propre copie, initialisée indépendamment, de la variable. InvocationLocal
d'instances
sont généralement des champs statiques privés, appartenant à des classes qui souhaitent associer un état à un appel.
Chaque appel est associé à une copie d'une variable dont la portée est définie au niveau de l'appel, à condition que la propriété
appel est en cours et l'instance InvocationLocal
est accessible. Après une
l'appel est terminé, toutes ses copies des instances locales d'appel sont soumises à la récupération
collection (sauf si d'autres références à ces copies existent).
Notez que contrairement aux instances ThreadLocal
qui ne sont plus référencées alors que le
appel est toujours en cours ne sont pas récupérées. Créer des instances locales ou non statiques
n'est donc pas recommandé, car elles pourraient se développer sans limite.
Avertissement: Utilisez cette classe avec parcimonie, car les invocation-locals sont des variables globales globales glorifiées. les mêmes pièges.
Résumé
Constructeurs publics | |
---|---|
InvocationLocal()
|
Méthodes publiques | |
---|---|
final
T
|
get()
Renvoie la copie de l'appel en cours d'exécution de cette variable d'appel locale. |
Méthodes protégées | |
---|---|
T
|
initialValue()
Renvoie la "valeur initiale" de l'appel en cours pour cette variable locale d'appel. |
Constructeurs publics
Appel local
public InvocationLocal ()
Méthodes publiques
get
public final T get ()
Renvoie la copie de l'appel en cours d'exécution de cette variable d'appel locale. Si le
ne comporte aucune valeur pour l'appel en cours, elle est d'abord initialisée sur la valeur
renvoyé par un appel à la méthode initialValue()
.
Renvoie | |
---|---|
T |
la copie de l'appel en cours d'exécution de cet appel local. |
Méthodes protégées
initialValue
protected T initialValue ()
Renvoie la "valeur initiale" de l'appel en cours pour cette variable locale d'appel. Ce
est appelée la première fois que le code s'exécute dans le contexte de l'appel.
accède à la variable avec la méthode get()
. L'appel de cette méthode est garanti
une fois par appel au maximum.
Cette implémentation renvoie simplement null
, mais peut être modifiée en classant InvocationLocal
et en remplaçant cette méthode.
Renvoie | |
---|---|
T |
la valeur initiale de cette variable de portée appel |