Esempio di FragmentAtClassScope

In questo esempio viene spiegato come utilizzare il frammento di analisi FragmentAtClassScope.

In questo esempio, un'analisi esegue il conteggio del numero di istanze create per tutte le classi nei pacchetti che corrispondono al modello di caratteri jolly "com.sample*" e restituisce tutte le creazioni di istanze.

Il "frammento a livello di classe" dichiara un contatore che appare come un campo statico di tipo interno nella classe nella quale viene compilato il frammento entry. Il frammento inoltre dichiara un inizializzatore statico per la classe fragment che indica che l'analisi è stata caricata. Tenere presente che gli elementi nella sezione fragmentAtClassScope vengono compilati nella classe di analisi generata e non nelle classi alle quali viene applicata l'analisi. Per inserire campi statici o la logica statica dell'inizializzatore nelle classi alle quali viene applicata l'analisi, utilizzare gli oggetti staticField e staticInitializer.

Per utilizzare questo codice di esempio, modificare package="com.sample*" nell'oggetto di destinazione in modo che faccia riferimento al nome di un pacchetto effettivo.

Tenere presente che per utilizzare i caratteri & e < in XML, è necessario specificare le entità di carattere &amp; e &lt;, come indicato nell'esempio.

<?xml version="1.0" encoding="ASCII"?>
<probekit>
   <probe>
      <fragmentAtClassScope>
         static public int entry_counter = 0;
         static int counter = 0;
         static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }
      </fragmentAtClassScope>
      <target type="include" package="com.sample*" method="&lt;init>" />
      <target type="exclude" package="*" />
      <fragment type="entry">
         <code>
            ++counter;
            if (counter % 100 == 0)
              System.out.println("[" + counter + " instances of classes in com.sample package so far]");
         </code>
      </fragment>
   </probe>
</probekit>

Argomento principale: Esempi Probekit

Riferimenti correlati
Oggetto di analisi FragmentAtClassScope

Clausole di utilizzo | Commenti
(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.