L'objet d'analyse Target représente une spécification des classes et des méthodes auxquelles le composant d'analyse est appliqué.
L'objet Target est facultatif. Si aucun objet Target n'est indiqué, le composant d'analyse s'applique à toutes les classes traitées par le moteur d'instrumentation.
L'objet Target permet de créer des règles de filtrage afin d'inclure ou d'exclure des méthodes de l'instrumentation en fonction des masques que respecte le nom, le package et la classe de la méthode, ainsi que sa signature. Les masques peuvent comporter des caractères génériques, "*" correspondant à zéro ou plusieurs caractères.
Si les masques génériques d'un objet Target correspondent au package, à la classe, au nom et à la signature de la méthode, la propriété type détermine si cette méthode est instrumentée (include) ou non (exclude). Si les masques ne correspondent pas au package, à la classe, au nom et à la signature d'une méthode, celle-ci est par défaut instrumentée.
| Propriété | Description |
|---|---|
| type | Obligatoire. La propriété type détermine si un composant d'analyse est ou non appliqué à une méthode cible. Entrez include pour appliquer le composant d'analyse aux classes et méthodes correspondant aux masques génériques, ou exclude pour les exclure. |
| package | Facultatif. Indiquez un masque générique à comparer avec la partie du package des noms de classes. Par exemple : java.util* correspondra à chaque classe dans le package java.util et ses sous-packages. Sans indication particulière, la valeur par défaut est *. |
| className | Facultatif. Indiquez un masque générique à comparer avec les noms de classes. Sans indication particulière, la valeur par défaut est *. |
| method | Facultatif. Indiquez un masque générique à comparer avec les noms de méthodes. Sans indication particulière, la valeur par défaut est *. |
| signature | Facultatif. Indiquez un masque générique à comparer avec une signature de méthode, à savoir la chaîne représentant les arguments et le type de retour de la méthode. Il s'agit du format interne Java pour les signatures de méthodes. Par exemple : (Ljava/lang/Object;)D est la signature d'une méthode qui prend un objet comme paramètre et renvoie un double. Le masque générique peut servir à distinguer plusieurs méthodes surchargées. Sans indication particulière, la valeur par défaut est *. |
Remarques :
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />Avec ces deux règles de ciblage, le composant d'analyse cible la classe SomeClass dans le package global tout en excluant le reste des classes. Selon ces règles, une classe nommée SomeClass et figurant dans un autre package est exclue.
<target type="include" package="com.example" className="*Proxy" method="Get*" />
Figurant dans
Objet d'analyse
Rubrique parent :
Référence Probekit