Identifies qualifier annotations. Anyone can define a new qualifier. A
qualifier annotation:
- is annotated with
@Qualifier
,@Retention(RUNTIME)
, and typically@Documented
. - can have attributes.
- may be part of the public API, much like the dependency type, but unlike implementation types which needn't be part of the public API.
- may have restricted usage if annotated with
@Target
. While this specification covers applying qualifiers to fields and parameters only, some injector configurations might use qualifier annotations in other places (on methods or classes for example).
For example:
@java.lang.annotation.Documented @java.lang.annotation.Retention(RUNTIME) @jakarta.inject.Qualifier public @interface Leather { Color color() default Color.TAN; public enum Color { RED, BLACK, TAN } }
- See Also: