@Documented
@Retention(value=RUNTIME)
@Target(value=FIELD)
public @interface Unused
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 |
---|---|
java.lang.Class<? extends java.lang.annotation.Annotation> |
when
The field that is annotated with @Unused may not be accessed via a
receiver that is annotated with the "when" annotation.
|