InvocaciónLocal
public class InvocationLocal
extends Object
java.lang.Objeto | |
↳ | 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 se diferencian 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 independientemente 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 con alcance de invocación siempre que la invocación esté en progreso 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 basura (a menos que existan otras referencias a estas copias).
Tenga en cuenta que, a diferencia ThreadLocal
las instancias a las que ya no se hace referencia mientras la invocación aún está en curso no se recolectan como basura. Por lo tanto, no se recomienda crear instancias locales o no estáticas, ya que podrían crecer sin límites.
Advertencia: utilice esta clase con moderación, ya que las invocaciones locales son variables globales glorificadas con muchos de los mismos errores.
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 para esta variable con alcance de invocación |