Description

Java Common Annotations and APIs spec - section 1.8.6 (lines 1592 thru 1602) shows an example of specifying @Scope annotation on an interface definition. I am noticing that this annotation is ignored and only the Scope set on the implementation class is used.

This is as per the spec (corrected in the errata), but then @Scope on an interface should result in an error, which does not seem to happen!!

Activity

Errata says
------------
7. @Scope annotations may only be used on classes, not interfaces.

Replace the sentence on lines 1584-1585 with the following: "The @Scope annotation type is may only be used on a service's implementation class. It is an error to use this annotation on an interface."

Delete the example in lines 1592-1603.
-------------------
So, it should give an error when @Scope is used on an interface, which I don't recall observing. Will verify and change the description accordingly.

Vamsavardhana Reddy
added a comment - 26/Mar/08 10:46 Errata says
------------
7. @Scope annotations may only be used on classes, not interfaces.
Replace the sentence on lines 1584-1585 with the following: "The @Scope annotation type is may only be used on a service's implementation class. It is an error to use this annotation on an interface."
Delete the example in lines 1592-1603.
-------------------
So, it should give an error when @Scope is used on an interface, which I don't recall observing. Will verify and change the description accordingly.

TUSCANY-2140.patch: Adds a JUnitTest and a fix. I have created a new exception class IllegalAnnotationException extending InvalidInterfaceException. If someone has a better name for this exception class, we can use that.

Vamsavardhana Reddy
added a comment - 27/Mar/08 09:36 TUSCANY-2140 .patch: Adds a JUnitTest and a fix. I have created a new exception class IllegalAnnotationException extending InvalidInterfaceException. If someone has a better name for this exception class, we can use that.