org.checkerframework.framework.qual.DefaultQualifiers Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spring-cloud-contract-shade Show documentation
Show all versions of spring-cloud-contract-shade Show documentation
Spring Cloud Contract Shaded Dependencies
package org.checkerframework.framework.qual;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Specifies the annotations to be included in a type without having to provide them explicitly.
*
* This annotation permits specifying multiple default qualifiers for more than one type system.
* It is generally not used by programmers, because Java permits writing multiple annotations of the
* same name at a single location and internally creates this wrapper annotation.
*
*
Example: The following two code snippets have identical effect.
*
*
*
* @DefaultQualifier(NonNull.class)
* @DefaultQualifier(value = Interned.class, locations = ALL_EXCEPT_LOCALS)
* @DefaultQualifier(Tainted.class)
* class MyClass { ... }
*
*
*
* @DefaultQualifiers({
* @DefaultQualifier(NonNull.class),
* @DefaultQualifier(value = Interned.class, locations = ALL_EXCEPT_LOCALS),
* @DefaultQualifier(Tainted.class)
* })
* class MyClass { ... }
*
*
* This annotation currently has no effect in stub files.
*
* @see DefaultQualifier
* @checker_framework.manual #defaults Default qualifier for unannotated types
*/
// TODO: use repeating annotations (will make source depend on Java 8).
@Documented
@Retention(RetentionPolicy.SOURCE)
@Target({
ElementType.PACKAGE,
ElementType.TYPE,
ElementType.CONSTRUCTOR,
ElementType.METHOD,
ElementType.FIELD,
ElementType.LOCAL_VARIABLE,
ElementType.PARAMETER
})
public @interface DefaultQualifiers {
/** The default qualifier settings. */
DefaultQualifier[] value() default {};
}