Eksempel på et fragment i klasseomfang

Dette eksempelet viser hvordan du bruker fragmentet i klasseomfang i en probe.

I eksempelet teller en probe antall forekomster som er opprettet for alle klassene i pakker som samsvarer med jokertegnmønsteret com.sample*, og rapporterer hver hundrede forekomstopprettelse.

Fragmentet i klasseomfang deklarerer en teller som blir vist som et int-type statisk felt i klassen som entry-fragmentet blir kompilert i. Fragmentet deklarerer også en statisk initialiserer for fragmentklassen som rapporterer at proben er lastet inn. Legg merke til at elementene i fragmentet i klasseomfang blir bygd inn i den genererte probeklassen, ikke i klassene som proben gjelder for. Hvis du skal sette inn statiske felt eller statisk initialisererlogikk i klasser som en probe gjelder for, bruker du probefragmenter av typen staticInitializer, eller definerer et statisk felt.

Denne proben er definert av følgende oppføringer i Probekit-redigeringsprogrammet:
  • Java-kode for fragment i klasseomfang (velg Probe i treruten for å oppgi denne verdien):

    static public int entry_counter = 0;
    static int counter = 0;
    static { System.out.println("[eksempelprobe fragmentAtClassScope er lastet inn.]"); }

  • Mål (velg Mål i treruten og klikk deretter på Rediger for å oppgi disse verdiene):
    • Måltype: include
    • Pakke: com.sample* (Bruk et faktisk pakkenavn her.)
    • Klasse: *
    • Metode: <init>
    • Signatur: *
  • Mål (klikk på Legg til og deretter Rediger i redigeringsruten for å oppgi disse verdiene:
    • Måltype: exclude
    • Pakke: *
    • Klasse: *
    • Metode: *
    • Signatur: *
  • Fragment (velg Fragment i treruten for å oppgi disse verdiene):
    • Fragmenttype: entry
    • Java-kode:

      ++counter;
      if (counter % 100 == 0)
        System.out.println("[" + counter + " forekomster av klasser i pakken com.sample så langt]");

Beslektet referanse
Probefragmenter i klasseomfang