Annotation Type DefaultQualifier
-
@Documented @Retention(SOURCE) @Target({PACKAGE,TYPE,CONSTRUCTOR,METHOD,FIELD,LOCAL_VARIABLE,PARAMETER}) @Repeatable(List.class) public @interface DefaultQualifier
Applied to a declaration of a package, type, method, variable, etc., specifies that the given annotation should be the default. The default is applied to type uses within the declaration for which no other annotation is explicitly written. (The default is not applied to the "parametric locations": class declarations, type parameter declarations, and type parameter uses.) If multipleDefaultQualifier
annotations are in scope, the innermost one takes precedence. DefaultQualifier takes precedence overDefaultQualifierInHierarchy
.You may write multiple
@DefaultQualifier
annotations (for unrelated type systems, or with differentlocations
fields) at the same location. For example:@DefaultQualifier(NonNull.class) @DefaultQualifier(value = NonNull.class, locations = TypeUseLocation.IMPLICIT_UPPER_BOUND) @DefaultQualifier(Tainted.class) class MyClass { ... }
This annotation currently has no effect in stub files.
- See Also:
TypeUseLocation
,DefaultQualifierInHierarchy
,DefaultFor
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.Class<? extends java.lang.annotation.Annotation>
value
The Class for the default annotation.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description TypeUseLocation[]
locations
Returns the locations to which the annotation should be applied.
-
-
-
Element Detail
-
value
java.lang.Class<? extends java.lang.annotation.Annotation> value
The Class for the default annotation.To prevent affecting other type systems, always specify an annotation in your own type hierarchy. (For example, do not set
Unqualified
as the default.)
-
-
-
locations
TypeUseLocation[] locations
Returns the locations to which the annotation should be applied.- Returns:
- the locations to which the annotation should be applied
- Default:
- {org.checkerframework.framework.qual.TypeUseLocation.ALL}
-
-