This pattern identifies a set of classes by their full qualified classname.
The syntax has been motivated by the
AspectJ TypeNamePattern
with slight modifications:
- The pattern can either be a plain type name, the wildcard *, or an
identifier with embedded * or .. wildcards or the | separator
- An * matches any sequence of characters, but does not match the package
separator "."
- An | separates alternatives that do not contain a package separator "."
- An .. matches any sequence of characters that starts and ends with the package
separator "."
- The identifier to match with is always the name returned by
Class.getName(). Thus
$ is the only inner-type separator supported.
- The * does match $, too.
- A leading .. additionally matches the root package.
Examples:
| Sample | Description |
| sample.Foo | Matches only sample.Foo |
| sample.Foo* | Matches all types in sample starting with "Foo" and all inner-types of Foo |
| sample.bar|baz.* | Matches all types in sample.bar and sample.baz |
| sample.Foo$* | Matches only inner-types of Foo |
| ..Foo | Matches all Foo in any package (incl. root package) |
| *.*..Foo | Matches all Foo nested in a sub-package |
| * | Matches all types in the root package |
| ..* | Matches all types |