@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.
|