Home All Groups
javax.inject / javax / inject / Qualifier.html /

javax.inject
Annotation Type Qualifier

@Target(value=ANNOTATION_TYPE)
@Retention(value=RUNTIME)
@Documented
public @interface Qualifier

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)
   @javax.inject.Qualifier
   public @interface Leather {
     Color color() default Color.TAN;
     public enum Color { RED, BLACK, TAN }
   }

See Also:
@Named

Copyright (C) 2009 The JSR-330 Expert Group. Licensed under the Apache License, Version 2.0.