Esempio di FragmentAtClassScope

Questo esempio illustra come utilizzare il frammento probe FragmentAtClassScope.

In questo esempio, un probe conteggia il numero di istanze create per tutte le classi in pacchetti che corrispondono al modello con carattere jolly "com.sample*" e riporta la creazione di ogni centesima istanza.

Il "fragment at class scope" dichiara un contatore che viene riportato come campo statico int-type nella classe in cui il frammento entry viene compilato. Il frammento dichiara, inoltre, un inizializzatore statico per la classe fragment in cui si riporta che il probe è stato caricato. Notare che gli elementi contenuti nella sezione fragmentAtClassScope vengono creati nella classe del probe generata, non nelle classi a cui si applica il probe. Per inserire la logica dei campi statici oppure dell'inizializzatore statico nelle classi a cui si applica un probe, utilizzare gli oggetti staticField e staticInitializer.

Per utilizzare questo codice di esempio, sostituire package="com.sample*" nell'oggetto di destinazione di un pacchetto vero e proprio.

Inoltre, per utilizzare i caratteri & e < in XML, è necessario specificare le entità di carattere &amp; e &lt;, come mostrato 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 di Probekit

Riferimenti correlati
Oggetto probe FragmentAtClassScope

Copyright IBM Corporation e altri 2000, 2004.