159b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapackage checkers.quals;
259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport java.lang.annotation.Documented;
459b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport static java.lang.annotation.ElementType.ANNOTATION_TYPE;
559b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport java.lang.annotation.Retention;
659b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport java.lang.annotation.RetentionPolicy;
759b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport java.lang.annotation.Target;
859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta/**
1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * Indicates that the annotated qualifier is the default qualifier in the
1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * qualifier hierarchy:  it applies if the programmer writes no explicit
1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * qualifier.
1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * <p>
1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta *
1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * The {@link DefaultQualifier} annotation, which targets Java code elements,
1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * takes precedence over {@code DefaultQualifierInHierarchy}.
1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * <p>
1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta *
1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * Each type qualifier hierarchy may have at most one qualifier marked as
2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * {@code DefaultQualifierInHierarchy}.
2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta *
2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * @see checkers.quals.DefaultQualifier
2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta */
2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta@Documented
2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta@Retention(RetentionPolicy.RUNTIME)
2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta@Target(ANNOTATION_TYPE)
2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapublic @interface DefaultQualifierInHierarchy {
2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta
2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta}
30