InvocationLocal
public
class
InvocationLocal
extends Object
java.lang.Object | |
↳ | com.android.tradefed.invoker.logger.InvocationLocal<T> |
Esta clase proporciona variables de alcance de invocación.
El mecanismo funciona de manera similar a ThreadLocal
. Estas variables difieren de sus contrapartes normales en que el código de 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. Por lo general, las instancias de InvocationLocal
son 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 con alcance de invocación, siempre y cuando la invocación esté en curso y se pueda acceder a la instancia InvocationLocal
. Una vez que se completa una invocacin, todas sus copias de instancias locales de invocacin estn sujetas a la recoleccin de basura (a menos que existan otras referencias a estas copias).
Ten en cuenta que, a diferencia de las instancias de ThreadLocal
a las que ya no se hace referencia mientras la invocación aún está en curso, no se realiza la recolección de elementos no utilizados. Por lo tanto, no se recomienda crear instancias locales o no estáticas, ya que podrían crecer sin límites.
Advertencia: Usa esta clase con moderación, ya que los objetos invocation-locals son variables globales glorificadas con muchas de las mismas dificultades.
Resumen
Constructores públicos | |
---|---|
InvocationLocal()
|
Métodos públicos | |
---|---|
final
T
|
get()
Muestra la copia de esta variable local de invocación en ejecución en ese momento. |
Métodos protegidos | |
---|---|
T
|
initialValue()
Muestra el "valor inicial" de la invocación actual para esta variable local de invocación. |
Constructores públicos
InvocationLocal
public InvocationLocal ()
Métodos públicos
get
public final T get ()
Muestra la copia de esta variable local de la invocación que se está ejecutando. Si la variable no tiene un valor para la invocación actual, primero se inicializa con el valor que muestra una llamada al método initialValue()
.
Muestra | |
---|---|
T |
la copia de esta invocación local de la invocación que se está ejecutando |
Métodos protegidos
initialValue
protected T initialValue ()
Muestra 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 invoque una vez como máximo por invocación.
Esta implementación simplemente muestra null
, pero se puede cambiar creando una subclase de InvocationLocal
y anulando este método.
Muestra | |
---|---|
T |
el valor inicial de esta variable centrada en la invocación |