InvocationLocal

public class InvocationLocal
extends Object

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


Cette classe fournit des variables de portée d'invocation.

Le mécanisme fonctionne de manière similaire à ERROR(/ThreadLocal) . Ces variables diffèrent de leurs homologues normaux dans ce code dans une invocation qui y accède (via sa méthode get ) a sa propre copie indépendamment initialisée de la variable. Les instances InvocationLocal sont généralement des champs statiques privés dans des classes qui souhaitent associer un état à un appel.

Chaque appel est associé à une copie d'une variable de portée d'appel tant que l'appel est en cours et que l'instance InvocationLocal est accessible. Une fois qu'un appel est terminé, toutes ses copies d'instances locales d'appel sont soumises à la récupération de place (à moins qu'il n'existe d'autres références à ces copies).

Notez que contrairement aux instances ERROR(/ThreadLocal) qui ne sont plus référencées alors que l'invocation est toujours en cours, elles ne sont pas ramassées. La création d'instances locales ou non statiques n'est donc pas recommandée car elles pourraient croître sans limite.

Avertissement : Utilisez cette classe avec parcimonie car les variables locales d'invocation sont des variables globales glorifiées avec bon nombre des mêmes pièges.

Résumé

Constructeurs publics

InvocationLocal ()

Méthodes publiques

final T get ()

Renvoie la copie de l'invocation en cours d'exécution de cette variable locale d'invocation.

Méthodes protégées

T initialValue ()

Renvoie la "valeur initiale" de l'invocation actuelle pour cette variable locale d'invocation.

Constructeurs publics

InvocationLocal

public InvocationLocal ()

Méthodes publiques

obtenir

public final T get ()

Renvoie la copie de l'invocation en cours d'exécution de cette variable locale d'invocation. Si la variable n'a pas de valeur pour l'invocation en cours, elle est d'abord initialisée à la valeur renvoyée par un appel à la méthode initialValue() .

Retour
T la copie de l'invocation en cours d'exécution de cette invocation-local.

Méthodes protégées

valeur initiale

protected T initialValue ()

Renvoie la "valeur initiale" de l'invocation actuelle pour cette variable locale d'invocation. Cette méthode sera invoquée la première fois que le code s'exécutant dans le contexte de l'invocation accède à la variable avec la méthode get() . Cette méthode est garantie d'être invoquée au plus une fois par invocation.

Cette implémentation renvoie simplement null mais peut être modifiée en sous-classant InvocationLocal et en remplaçant cette méthode.

Retour
T la valeur initiale de cette variable de portée d'invocation