El objeto de sonda StaticField

El objeto de sonda StaticField inserta un nuevo campo estático en cada clase Java sondeada. Este campo estático es accesible para los fragmentos de sonda y puede utilizarse para almacenar información dentro de las clases sondeadas.

El término "campo estático" hace referencia a un campo de la clase que está declarada como estática. A veces recibe el nombre de "variable estática", "campo de clase" o "variable de clase" (en contraste con "variable de instancia").

El objeto StaticField es opcional.

El objeto StaticField tiene la siguiente propiedad:
Propiedad Descripción
type Obligatoria. La propiedad type especifica la cadena de caracteres de tipo Java del nuevo campo. La cadena de caracteres debe ser un nombre completo de clase Java. Por ejemplo: java.lang.StringBuffer. La cadena de caracteres de tipo debe representar un tipo de clase normal, no un tipo primitivo ni un tipo de matriz. La clase con nombre debe tener un constructor por omisión que no acepte argumentos y que sea accesible para la clase sondeada.
Cuando se utiliza un objeto StaticField, el nuevo campo estático se inicializa en la clase sondeada llamando al constructor por omisión correspondiente a su tipo; es similar a añadir el siguiente código fuente a la clase del ámbito de clase:
static private type fieldName = new type();

La llamada de inicialización se realiza al principio del inicializador de clase para la clase sondeada. Si la clase no tiene un inicializador de clase, se creará uno. Si la sonda tiene un fragmento StaticInitializer, el código del fragmento StaticInitializer se ejecutará después de que se haya construido el campo estático.

Los fragmentos de sonda pueden utilizar el elemento de datos staticField para acceder al objeto al que hace referencia el campo estático. Los fragmentos pueden cambiar el estado del objeto al que hace referencia el campo estático, pero no pueden hacer que el campo estático haga referencia a un objeto distinto.

Una sonda sólo puede tener un objeto StaticField. Para utilizar StaticField con el fin de almacenar más de un elemento en la clase sondeada, utilice un tipo de objeto compuesto, como por ejemplo ArrayList, HashMap o HashSet, o bien defina una nueva clase y utilícela con la estructura de datos que necesite.

Ejemplo
<staticField type="java.util.Date" />
<fragment type="staticInitializer">
   <data type="staticField" name="lastInstanceDate" />
   <code>
      . . . 
   </code>
</fragment>

Contenido por
El objeto Probe

Tema principal: Consulta de elemento de ProbeKit

Referencia relacionada
El objeto de sonda Data

Información relacionada
Ejemplo de staticField y staticInitializer

Terms of use | Feedback
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.