Created https://issues.apache.org/jira/browse/TUSCANY-2266 .

++Vamsi

On Thu, Apr 24, 2008 at 10:04 AM, Vamsavardhana Reddy <[EMAIL PROTECTED]>
wrote:

> Issue raised in OASIS SCA Java TC.  See [1].
>
> [1]
> http://www.oasis-open.org/apps/org/workgroup/sca-j/email/archives/200804/msg00041.html
>
> ++Vamsi
>
>
> On Mon, Apr 7, 2008 at 12:26 AM, Vamsavardhana Reddy <[EMAIL PROTECTED]>
> wrote:
>
> > PART-1:
> > The Java Annotations&APIs specification Lines 1407, 1408, 1409, 1410 ...
> >
> >      * References may also be injected via public setter methods even
> > when the
> >      * "@Reference" annotation is not present. However, the "@Reference"
> >
> >      * annotation must be used in order to inject a reference onto a non
> > public
> >      * field. In the case where there is no "@Reference" annotation, the
> > name of
> >      * the reference is the same as the name of the field or setter.
> >
> > This means a reference can not be injected onto a protected field
> > without an @Reference annotation.
> >
> > PART-2:
> > Java Component Implementation Specification - Section 1.2.7 line 358 to
> > 365:
> > 358 1.2.7. Semantics of an Unannotated Implementation
> > 359 The section defines the rules for determining properties and
> > references for a Java component
> > 360 implementation that does not explicitly declare them using
> > @Reference or @Property.
> > 361 In the absence of @Property and @Reference annotations, the
> > properties and references of a class are
> > 362 defined according to the following rules:
> > 363 1. Public setter methods that are not included in any interface
> > specified by an @Service annotation.
> > 364 2. Protected setter methods
> > 365 3. Public or protected fields unless there is a public or protected
> > setter method for the same name
> >
> > This means a protected field could end up as a reference in an
> > unannotated implementation.  But from PART-1 above, a reference can not be
> > injected unless an @Reference annotation is present on a protected field!!!
> > How will a protected field computed as a reference for an unannotated
> > implementation get its value set?
> >
> > What am I missing?
> >
> > ++Vamsi
> >
>
>

Reply via email to