001package io.avaje.inject;
002
003import java.lang.annotation.Retention;
004import java.lang.annotation.Target;
005
006import static java.lang.annotation.ElementType.FIELD;
007import static java.lang.annotation.ElementType.PARAMETER;
008import static java.lang.annotation.RetentionPolicy.RUNTIME;
009
010/**
011 * Marks an <code>Map&lt;String, T&gt; </code> field/parameter to receive a map of beans keyed
012 * by qualifier name.
013 *
014 * <pre>{@code
015 * class CrewMate {
016 *
017 *   private final Map<String, Tasks> taskMap;
018 *
019 *   @Inject
020 *   CrewMate(@QualifiedMap Map<String, Tasks> taskMap) {
021 *     this.taskMap = taskMap;
022 *   }
023 *
024 * }
025 * }</pre>
026 */
027@Target({PARAMETER, FIELD})
028@Retention(RUNTIME)
029public @interface QualifiedMap {
030}