L'objet d'analyse StaticField insère une nouvelle zone statique dans chaque classe Java analysée. Cette zone statique est accessible aux fragments d'analyse et peut servir à stocker des informations dans des classes analysées.
Le terme "zone statique" désigne une zone de la classe déclarée statique. Elle est également parfois qualifiée de "variable statique", "zone de classe" ou "variable de classe" (par opposition à "variable d'instance").
L'objet StaticField est facultatif.
| Propriété | Description |
|---|---|
| type | Obligatoire. La propriété type indique la chaîne type Java pour la nouvelle zone. La chaîne doit correspondre à un nom de classe Java qualifié complet. Par exemple : java.lang.StringBuffer. La chaîne type doit représenter un type de classe ordinaire, et non un type primitif ou un type tableau. La classe nommée doit posséder un constructeur par défaut n'acceptant aucun argument et accessible à la classe analysée. |
static private type fieldName = new type();
L'appel d'initialisation est effectué au début de l'initialiseur de la classe analysée. Un initialiseur sera créé si la classe n'en possède pas. Si le composant d'analyse comporte un fragment StaticInitializer, le code de ce dernier s'exécute après la construction de la zone statique.
Des fragments d'analyse peuvent utiliser l'élément de données staticField pour accéder à l'objet auquel la zone statique fait référence. Les fragments peuvent modifier l'état de l'objet référencé par la zone statique mais ne peuvent faire que celle-ci fasse référence à un autre objet.
Un composant d'analyse peut comporter un seul objet StaticField. Pour utiliser StaticField afin de stocker plusieurs éléments dans la classe analysée, utilisez un type d'objet composite tel que ArrayList, HashMap ou HashSet, ou bien définissez et employez une classe avec la structure de données souhaitée.
<staticField type="java.util.Date" />
<fragment type="staticInitializer">
<data type="staticField" name="lastInstanceDate" />
<code>
. . .
</code>
</fragment>
Figurant dans
Objet d'analyse
Rubrique parent :
Référence Probekit
Référence associée
Fragment d'analyse staticInitializer
Informations connexes
Exemple staticField et
staticInitializer