HasQualifierParameter on a package is the same as writing it on each class in
that package.
Writing @HasQualifierParameter on a type declaration has two effects.
@HasQualifierParameter
class StringBuffer { ... }
Then @Tainted StringBuffer is unrelated to @Untainted StringBuffer.
The type hierarchy looks like this:
@Tainted Object
/ | \
/ | @Tainted Date
/ | |
/ | |
/ @Untainted Object |
/ | \ |
@Tainted StringBuffer | @Untainted Date
| |
| @Untainted StringBuffer
| |
@Tainted MyStringBuffer |
|
@Untainted MyStringBuffer
When a class is @HasQualifierParameter, all its subclasses are as well.
When @HasQualifierParameter is written on a package, it is equivalent to writing that
annotation on each class in the package or in a sub-package. It can be disabled on a specific
class and its subclasses by writing @NoQualifierParameter on that class. This annotation
may not be written on the same class as NoQualifierParameter for the same hierarchy.
NoQualifierParameter
| Modifier and Type | Method and Description |
|---|---|
| public Class | Returns: the valueClass of the top qualifier for the hierarchy for which this class has a qualifier parameter. |
| value | back to summary |
|---|---|
| public Class Class of the top qualifier for the hierarchy for which this class has a qualifier parameter.
| |