-
Feature Request
-
Resolution: Obsolete
-
Major
-
None
-
None
-
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));
}