Details

      Description

      As Java 8 provides improved support for repeating annotations, it would be valuable to percolate that support into the CDI typesafe resolution mechanism.

      For example, one could write:

      @Qualifier
      @Repeatable(ContextNames.class)
      public interface @ContextName {
          String value;
      }
       
      public @interface ContextNames {
          ContextName[] value();
      }
      

      And then:

      @ContextName("ctx1")
      class CamelContext1 {
      }
       
      @ContextName("ctx2")
      class CamelContext2 {
      }
       
      @Uri("")
      @Produces
      @ContextName("ctx1")
      @ContextName("ctx2")
      static ProducerTemplate producerTemplate(InjectionPoint ip, @Any Instance<CamelContext> instance) {
      }
      

      That enables to use annotations both as a CDI qualifiers and a metadata providers while still be relying on standard typesafe resolution mechanism during the deployment phase to detect unsatisfied or ambiguous dependencies.

      Support of the annotation container / list for backward compatibility could be provided as well.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  meetoblivion John Ament
                  Reporter:
                  stefanutti Antonin Stefanutti
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: