Exemplo FragmentAtClassScope

Este exemplo demonstra como utilizar o fragmento de probe FragmentAtClassScope.

Neste exemplo, uma probe conta o número de instâncias já criadas de todas as classes nos pacotes correspondentes ao padrão curinga "com.sample*" e relata a 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 o carregamento da probe. Note que os itens na seção fragmentAtClassScope estão construídos na classe gerada da probe, não nas classes às quais a probe se aplica. Para inserir campos estáticos ou lógica de 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 referir ao nome de um pacote real.

Note que para utilizar os caracteres & e < no XML, é necessário especificar as entidades dos caracteres &amp; e &lt;, como 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("[A probe de amostra fragmentAtClassScope foi carregada.]"); }
      </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 + " instância(s) de classes no pacote com.sample até o momento]");
         </code>
      </fragment>
   </probe>
</probekit>

Tópico Pai: Exemplos do Probekit

Referências Relacionadas
O Objeto FragmentAtClassScope da Probe

Termos de Uso | Feedback
(C) Copyright IBM Corporation 2000, 2004. Todos os Direitos Reservados.