Annotation Interface QualifierAnnotation


@Target(ANNOTATION_TYPE) @Retention(RUNTIME) public @interface QualifierAnnotation
This is a marker meta-annotation that declares an annotation as the one that can be used as a key qualifier.

Creating a custom stateless qualifier annotation is as easy as creating your own annotation with no parameters and annotating it with QualifierAnnotation. That way, an actual class of your stateless qualifier annotation will be used as a qualifier.

If you want to create a stateful annotation, you should also annotate it with QualifierAnnotation. Additionally, you need to get an instance of it with compatible equals method (you can use Qualifiers.NamedImpl class as an example) After that, you can use your annotation in our DSL and then make keys programmatically with created qualifier instances.