L'objet de sonde StaticField

L'objet de sonde StaticField insère un nouveau champ statique dans chaque classe Java à sonde. Ce champ statique est accessible aux fragments de sonde, et peut être utilisé pour stocker des informations dans des classes à sonde.

Le terme "champ statique" représente un champ de la classe qui est déclaré statique. Il est parfois appelé "variable statique", "champ de classe" ou "variable de classe" (en opposition à "variable d'instance").

L'objet StaticField est facultatif.

L'objet StaticField comprend la propriété suivante :
Propriété Description
type Obligatoire. La propriété type spécifie la chaîne du type Java du nouveau champ. La chaîne doit être un nom de classe Java totalement qualifié. Par exemple : java.lang.StringBuffer. La chaîne du type doit répresenter un type de classe ordinaire, et non un type primitif ou un type tableau. La classe nommée doit comprendre un constructeur par défaut qui ne contient aucun argument et qui est accessible à la classe à sonde.
Lorsque vous utilisez un objet StaticField, le nouveau champ statique est initialisé dans la classe à sonde en appelant le constructeur par défaut de son type ; chose similaire pour l'ajout du code source suivant à la classe au niveau de la classe :
static private type fieldName = new type();

L'appel d'initialisation est réalisé au début de l'initialiseur de classe pour la classe à sonde. Si la classe ne comprend pas d'initialiseur de classe, il en sera créé un. Si la sonde comprend un fragment StaticInitializer, celui-ci sera exécuté une fois le champ statique construit.

Les fragments de sonde peuvent utiliser l'élément de données staticField pour accéder à l'objet référencé par le champ statique. Les fragments peuvent modifier l'état de l'objet référencé par le champ statique, mais ils ne peuvent pas faire en sorte que le champ statique fasse référence à un autre objet.

Une sonde ne peut comporter qu'un seul objet StaticField. Pour utiliser StaticField pour stocker plusieurs éléments dans la classe à sonde, utilisez un type d'objet composite comme ArrayList, HashMap ou HashSet, ou bien définissez et utilisez une nouvelle classe avec la structure de données dont vous avez besoin.

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

Contenu par
L'objet Probe

Sujet parent : Références concernant les éléments Probekit

Référence associée
L'objet de sonde Data

Information associée
Exemple de staticField et de staticInitializer

Conditions d'utilisation | Commentaires
(C) Copyright IBM Corporation 2004. All Rights Reserved.