|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Documented @Retention(value=RUNTIME) @Target(value=FIELD) public @interface Unused
Declares that the field may not be accessed if the receiver is of the
specified qualifier type (or any supertype).
This property is verified by the checker that type-checks the when
element value qualifier.
Example
Consider a class, Table
, with a locking field, lock
. The
lock is used when a Table
instance is shared across threads. When
running in a local thread, the lock
field ought not to be used.
You can declare this behavior in the following way:
class Table {
private @Unused(when=LocalToThread.class) final Lock lock;
...
}
The checker for @LocalToThread
would issue an error for the following code:
@LocalToThread Table table = ...; ... table.lock ...;
Modifier and Type | Required Element and Description |
---|---|
Class<? extends Annotation> |
when
The field that is annotated with @Unused may not be accessed via a receiver that is annotated with the "when" annotation. |
Element Detail |
---|
public abstract Class<? extends Annotation> when
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |