Invocação Local

public class InvocationLocal
extends Object

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


Essa classe fornece variáveis ​​de escopo de invocação.

O mecanismo opera de forma semelhante ao ThreadLocal . Essas variáveis ​​diferem de suas contrapartes normais em que o código em uma invocação que acessa uma (através de seu método get ) tem sua própria cópia inicializada independentemente da variável. As instâncias InvocationLocal são tipicamente campos estáticos privados em classes que desejam associar o estado a uma invocação.

Cada invocação está associada a uma cópia de uma variável com escopo de invocação, desde que a invocação esteja em andamento e a instância InvocationLocal esteja acessível. Após a conclusão de uma invocação, todas as suas cópias de instâncias locais de invocação estão sujeitas à coleta de lixo (a menos que existam outras referências a essas cópias).

Observe que, diferentemente das instâncias ThreadLocal , que não são mais referenciadas enquanto a invocação ainda está em andamento, não são coletadas como lixo. A criação de instâncias locais ou não estáticas, portanto, não é recomendada, pois elas podem crescer sem limites.

Aviso: use esta classe com moderação, pois os locais de invocação são variáveis ​​globais glorificadas com muitas das mesmas armadilhas.

Resumo

Construtores públicos

InvocationLocal ()

Métodos públicos

final T get ()

Retorna a cópia da invocação atualmente em execução desta variável local de invocação.

Métodos protegidos

T initialValue ()

Retorna o "valor inicial" da invocação atual para esta variável local de invocação.

Construtores públicos

Invocação Local

public InvocationLocal ()

Métodos públicos

pegar

public final T get ()

Retorna a cópia da invocação atualmente em execução desta variável local de invocação. Se a variável não tiver valor para a invocação atual, ela será primeiro inicializada com o valor retornado por uma chamada ao método initialValue() .

devoluções
T a cópia da invocação atualmente em execução desta invocação-local.

Métodos protegidos

valor inicial

protected T initialValue ()

Retorna o "valor inicial" da invocação atual para esta variável local de invocação. Este método será invocado na primeira vez que o código executado no contexto da invocação acessa a variável com o método get() . Este método é garantido para ser invocado no máximo uma vez por invocação.

Essa implementação simplesmente retorna null , mas pode ser alterada pela subclasse InvocationLocal e substituindo esse método.

devoluções
T o valor inicial para esta variável com escopo de invocação