Uploaded image for project: 'CDI Specification Issues'
  1. CDI Specification Issues
  2. CDI-475

Support type annotation in assignability of parameterized types

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • None
    • Resolution
    • None

      Since Java 8 provides support for type annotations, the assignability of parameterized types rules could be updated to support that feature that may add value in a number of use cases.

      For example, with lifecycle events resolution, instead of writing:

      Set<Annotation> contextNames = new HashSet<>();
      
      void camelContextNames(@Observes ProcessAnnotatedType<? extends CamelContext> pat) {
          if (pat.getAnnotatedType().isAnnotationPresent(ContextName.class))
              contextNames.add(pat.getAnnotatedType().getAnnotation(ContextName.class));
      }
      

      One could directly write:

      void camelContextNames(@Observes ProcessAnnotatedType<@ContextName ? extends CamelContext> pat) {
          contextNames.add(pat.getAnnotatedType().getAnnotation(ContextName.class));
      }
      

              Unassigned Unassigned
              astefanu@redhat.com Antonin Stefanutti
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: