[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [sca-j] NEW ISSUE: Constructor selection algorithm is not well defined - [JAVA-145]
Hi Simon, I have raised this as new issue 145. See http://www.osoa.org/jira/browse/JAVA-145 Thanks, Mark > -----Original Message----- > From: Simon Nash [mailto:oasis@cjnash.com] > Sent: 19 March 2009 20:30 > To: OASIS Java > Subject: [sca-j] NEW ISSUE: Constructor selection algorithm is not well > defined > > TARGET: Java Component Implementation > > DESCRIPTION: Constructor selection algorithm is not well defined > > Conformance statement JCI50004 says the following: > > The constructor to use for the creation of an implementation instance > MUST be selected by the SCA runtime using the sequence: > 1. A declared constructor annotated with a @Constructor annotation. > 2. A declared constructor that unambiguously identifies all property > and reference values. > 3. A no-argument constructor. > > There are two problems with the wording of step 2: > > a) The phrase "identifies all property and reference values" could > be taken to mean that all the implementation's properties > and references must be specified on the constructor. I believe > this was not the intention. > > b) Step 2 is not sufficiently well defined to cover all cases. What if > there are two constructors (not marked @Constructor) that both have > all of their parameters marked with either @Property or @Reference? > For example, constructor C1 could have parameters P1 and R1 and > constructor C2 could have parameters P1, P2 and R1. Is this illegal, > or is C2 chosen because it is more "unambiguous" than C1? > > PROPOSAL: > > Replace step 2 of JCI50004 by the following: > > 2. A declared constructor, all of whose parameters are annotated with > either @Property or @Reference. > > After JCI50002, add the following: > > The SCA runtime MUST raise an error if there are multiple constructors > that are not annotated with @Constructor and have a non-empty parameter > list with all parameters annotated with either @Property or @Reference. > [JCI50005] > > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]