Detect Class (detectClass)
<detectClass> Element
The detectClass rule is used to find certain class files.
Attribute Name | Type | Required | Description |
---|---|---|---|
names | String | Yes, unless extends or implements attribute is specified. |
Fully qualified class name. If providing multiple, use a comma separated list. Flags both definitions and uses of the specified classes, unless extends or implements is also specified. |
extends | String | No |
Fully qualified class name. If providing multiple, use a comma separated list. If specified, only declarations of clases that extend these classes will be flagged, not usages, regardless of the value specified for skipScanForUsage. |
implements | String | No |
Fully qualified class name. If providing multiple, use a comma separated list. If specified, only declarations of clases that implement these interfaces will be flagged, not usages, regardless of the value specified for skipScanForUsage. |
useAppProvidedLibraries | Boolean | No |
Indicates whether or not to check for the application providing the classes itself. If it is provided, then the rule will not flag. Defaults to false. |
skipScanForUsage | Boolean | No |
Indicates whether or not to check for usage of the classes. Use this when you want to check for an implementation provided by the application. Defaults to false. |
classNamePattern | Regex | No |
The class file including its path. |
flagOnce | Boolean | No |
Indicates whether to flag once per archive. Defaults to false. |
flagOncePerFile | Boolean | No |
Indicates whether to flag once per file. Defaults to false. |
hideResult | Boolean | No |
Indicates whether results flagged by this rule should be hidden in the report. This attribute only hides results when used with rules under the <and> or <or> tags. Defaults to false. |
Child Elements (Zero or more)
<missingMethod> Element - optional, can be multiple
Attribute Name | Type | Required | Description |
---|---|---|---|
name | String | Yes |
The method name of the method to flag if missing. |
<implementsMethod> Element - optional, can be multiple
Attribute Name | Type | Required | Description |
---|---|---|---|
name | String | Yes |
The method name to flag if implemented. |
arguments | String | No |
Fully qualified class names and primitives. If multiple, use a comma separated list. The empty string is used to math methods with no parameters. If not specified, matches all method signatures. |
accessFlag | Enumeration | No |
If specified, only flag methods that match the criteria of this access flag. Supported values:
|
For example, to detect a javax.transaction.UserTransaction class, specify:
<detectClass names="javax.transaction.UserTransaction"/>