| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | ||||||||
@Documented @Retention(value=RUNTIME) public @interface Dependent
Refines the qualified type of the annotated field or variable based on the qualified type of the receiver. The annotation declares a relationship between multiple type qualifier hierarchies.
Example:
 Consider a field, lock, that is only initialized if the
 enclosing object, receiver, is marked as ThreadSafe.  Such a field
 can be declared as:
 
   private @Nullable @Dependent(result=NonNull.class, when=ThreadSafe.class)
     Lock lock;
 
| Modifier and Type | Required Element and Description | 
|---|---|
 Class<? extends Annotation> | 
result
The class of the refined qualifier to be applied.  | 
 Class<? extends Annotation> | 
when
The qualifier class of the receiver that causes the result
 qualifier to be applied. | 
| Element Detail | 
|---|
public abstract Class<? extends Annotation> result
public abstract Class<? extends Annotation> when
result
 qualifier to be applied.
  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | ||||||||