InvocaciónLocal
public class InvocationLocal
extends Object
java.lang.Objeto | |
↳ | com.android.tradefed.invoker.logger.InvocaciónLocal<T> |
Esta clase proporciona variables de ámbito de invocación.
El mecanismo funciona de manera similar a ERROR(/ThreadLocal)
. Estas variables difieren de sus contrapartes normales en que el código en una invocación que accede a una (a través de su método get
) tiene su propia copia inicializada de forma independiente de la variable. Las instancias InvocationLocal
suelen ser campos estáticos privados en clases que desean asociar el estado con una invocación.
Cada invocación está asociada con una copia de una variable de ámbito de invocación siempre que la invocación esté en curso y la instancia InvocationLocal
sea accesible. Una vez completada una invocación, todas sus copias de instancias locales de invocación están sujetas a recolección de elementos no utilizados (a menos que existan otras referencias a estas copias).
Tenga en cuenta que, a diferencia de las instancias ERROR(/ThreadLocal)
a las que ya no se hace referencia mientras la invocación aún está en curso, no se recolectan elementos no utilizados. Por lo tanto, no se recomienda crear instancias locales o no estáticas, ya que podrían crecer sin límite.
Advertencia: use esta clase con moderación, ya que las variables locales de invocación son variables globales glorificadas con muchos de los mismos peligros.
Resumen
Constructores públicos | |
---|---|
InvocationLocal () |
Métodos públicos | |
---|---|
final T | get () Devuelve la copia de la invocación que se está ejecutando actualmente de esta variable local de invocación. |
Métodos protegidos | |
---|---|
T | initialValue () Devuelve el "valor inicial" de la invocación actual para esta variable local de invocación. |
Constructores públicos
InvocaciónLocal
public InvocationLocal ()
Métodos públicos
conseguir
public final T get ()
Devuelve la copia de la invocación que se está ejecutando actualmente de esta variable local de invocación. Si la variable no tiene valor para la invocación actual, primero se inicializa con el valor devuelto por una llamada al método initialValue()
.
Devoluciones | |
---|---|
T | la copia de la invocación que se está ejecutando actualmente de esta invocación-local. |
Métodos protegidos
valor inicial
protected T initialValue ()
Devuelve el "valor inicial" de la invocación actual para esta variable local de invocación. Este método se invocará la primera vez que el código que se ejecuta en el contexto de la invocación acceda a la variable con el método get()
. Se garantiza que este método se invocará como máximo una vez por invocación.
Esta implementación simplemente devuelve null
, pero se puede cambiar subclasificando InvocationLocal
y anulando este método.
Devoluciones | |
---|---|
T | el valor inicial de esta variable de ámbito de invocación |