目标探测对象是应当应用探测的类和方法的规范。
目标对象是可选的。当没有指定目标时,将把探测应用于检测引擎所处理的所有类。
目标对象使您能够创建过滤器规则,以根据模式包含或从检测排除某些方法,这些方法与包、类和方法名称以及方法的特征符相配。这些模式可以包含通配符,其中“*”将与零或更多字符匹配。
如果目标的通配符模式与方法的包、类、名称和特征符匹配,type 属性将确定是检测(include)还是不检测(exclude)该方法。如果模式与方法的包、类、名称和特征符不匹配,缺省情况下,将检测该方法。
属性 | 描述 |
---|---|
type | 必需。type 属性确定是否将探测应用于目标方法。指定 include 将探测应用于与通配符模式匹配的类和方法,指定 exclude 排除它们。 |
package | 可选。指定通配符模式以与类名称的包部分相配。例如:java.util* 将与 java.util 包及其子包中的每个类匹配。如果未指定,则缺省值为 *。 |
className | 可选。指定通配符模式以与类名相配。如果未指定,则缺省值为 *。 |
method | 可选。指定通配符模式以与方法名称相配。如果未指定,则缺省值为 *。 |
signature | 可选。指定通配符模式以与方法的特征符相配 - 即,指定表示方法实参和返回类型的字符串。这使用方法特征符的 Java 内部格式。例如:(Ljava/lang/Object;)D 是一个方法特征符,它将对象作为参数并返回双精度浮点数。可以使用该通配符模式来区分超载的方法。如果未指定,则缺省值为 *。 |
注:
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />这两个目标规则引起探测以全局包中的类 SomeClass 为目标,并排除所有其它类。按照这些规则,将排除所有其它包中名为 SomeClass 的类。
<target type="include" package="com.example" className="*Proxy" method="Get*" />
包含于
探测对象
父主题:Probekit 元素参考