Dne 15. 04. 20 v 12:42 Emily Jiang napsal(a):
Matej,
Since @Inject can only work with a qualifier annotation not anything
other annotations,
That's not correct. You can add any annotation to an injection point.
I've seen it several times where a framework inspected the
InjectionPoint to find certain annotations that have no meaning in CDI.
do you think adding a validation criteria to assert
that is acceptable?
For IDE validation, it is quite limited because a lot of work needs to
be done via runtime to figure out whether the 2nd annotation is a CDI
qualifier or not.
Thanks
Emily
On Tue, Apr 14, 2020 at 3:28 PM Benjamin Confino <BENJAMIC(a)uk.ibm.com
<mailto:BENJAMIC@uk.ibm.com>> wrote:
Hello weld
I had a customer with an issue that I believe occurred because they
annotated a field with both @Inject and @EJB. This has given me two
questions:
1) Should weld throw an error when a field is annotated with both
annotations?
2) If so is the correct way to add something like
if (ij.getAnnotated().isAnnotationPresent(Inject.class) &&
ij.getAnnotated().isAnnotationPresent(EJB.class)) {
throw ...
}
to Validator.validateInjectionPointForDefinitionErrors()
If so I'm willing to create a pull request, all I'd need is for you
to tell me what the error message should say and please point me to
which test I should expand to cover this case.
Regards
Benjamin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with
number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire
PO6 3AU
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org <mailto:weld-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/weld-dev
--
Thanks
Emily
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev
--
Martin Kouba
Senior Software Engineer
Red Hat, Czech Republic