Eksempel på et probefragment ved klasseomfang

Dette eksempel illustrerer, hvordan et fragment ved klasseomfang skal bruges i en probe.

I eksemplet tæller en probe det antal forekomster, der i alt er oprettet af alle klasser i pakker, som overholder jokertegnssyntaksen com.sample*, og rapporterer oprettelsen af hver hundrede forekomst.

Fragmentet ved klasseomfang erklærer en tæller, der vises som et statisk felt af int-typen i den klasse, som indgangsfragmentet kompileres ind i. Fragmentet erklærer også en statisk initialiseringsfunktion for klassen fragment for at rapportere, at propen er indlæst. Bemærk, at elementerne i fragmentet ved klasseomfang er indbygget i den genererede probeklasse, ikke i de klasser, som proben anvendes på. Hvis du vil indsætte statiske felter eller statiske initialiseringsfunktioners logik i klasser, som en probe anvendes på, skal du bruge probefragmenter af typen staticInitializer eller bruge et statisk felt.

Proben defineres af følgende indgange i Probekit Editor:
  • Java-koden for Fragment ved klasseomfang (vælg Probe i delvinduet med træstrukturen for at angive denne værdi):

    static public int entry_counter = 0;
    static int counter = 0;
    static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }

  • Mål (hvis du vil angive disse værdier, skal du vælge Mål i delvinduet med træstrukturen og derefter klikke på Redigér):
    • Måltype: include
    • Pakke: com.sample* (brug et rigtigt pakkenavn her).
    • Klasse: *
    • Metode: <init>
    • Signatur: *
  • Mål (hvis du vil angive disse værdier, skal du klikke på Tilføj, derefter Redigér i redigeringsvinduet):
    • Måltype: exclude
    • Pakke: *
    • Klasse: *
    • Metode: *
    • Signatur: *
  • Fragment (vælg Fragment i delvinduet med træstrukturen for at angive disse værdier):
    • Fragmenttype: entry
    • Java-kode:

      ++counter;
      if (counter % 100 == 0)
        System.out.println("[" + counter + " instances of classes in com.sample package so far]");