Exemplo de FragmentAtClassScope

Este exemplo demonstra como utilizar o fragmento probe FragmentAtClassScope.

Neste exemplo, uma probe conta o número de instâncias já criadas de todas as classes nos pacotes que correspondem ao padrão de curinga "com.sample*" e relata cada centésima criação de instância.

O "fragmento no escopo da classe" declara um contador que aparece como um campo estático do tipo int na classe em que o fragmento entry está compilado. O fragmento também declara um inicializador estático para a classe fragment que relata que a probe foi carregada. Observe que os itens na seção fragmentAtClassScope são construídos na classe probe gerada, não nas classes às quais a probe se aplica. Para inserir campos estáticos ou lógica do inicializador estático nas classes às quais uma probe se aplica, utilize os objetos staticField e staticInitializer.

Para utilizar esse código de exemplo, altere package="com.sample*" no objeto de destino para que se refira a um nome de pacote real.

Observe que para utilizar os caracteres & e < em XML, você deve especificar as entidades dos caracteres &amp; e &lt;, conforme mostrado no exemplo.

<?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>

Tópico-pai: Referência do Kit Probe

Referência Relacionada
O Objeto Probe FragmentAtClassScope

Copyright IBM Corporation e outros 2000, 2004.