All Downloads are FREE. Search and download functionalities are using the official Maven repository.

checkers.quals.DefaultQualifier Maven / Gradle / Ivy

The newest version!
package checkers.quals;

import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.*;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 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 all types within the declaration for which no other
 * annotation is explicitly written.
 * If multiple DefaultQualifier annotations are in scope, the innermost one
 * takes precedence.
 * DefaultQualifier takes precedence over {@link DefaultQualifierInHierarchy}.
 * 

* * If you wish to write multiple @DefaultQualifier annotations (for * unrelated type systems, or with different {@code locations} fields) at * the same location, use {@link DefaultQualifiers}. * * @see DefaultLocation */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({CONSTRUCTOR, METHOD, FIELD, LOCAL_VARIABLE, PARAMETER, TYPE}) public @interface DefaultQualifier { /** * The name of the default annotation. It may be a short name like * "NonNull", if an appropriate import statement exists. Otherwise, it * should be fully-qualified, like "checkers.nullness.quals.NonNull". *

* * To prevent affecting other type systems, always specify an annotation * in your own type hierarchy. (For example, do not set * "checkers.quals.Unqualified" as the default.) */ String value(); /** @return the locations to which the annotation should be applied */ DefaultLocation[] locations() default {DefaultLocation.ALL}; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy