I understand I can duplicate methods, either manually or not. My question is rather why some extra code has been added to check return type although it is outside Java spec? ...does Blueprint specify to do so?
JP -----Message d'origine----- De : Jean-Baptiste Onofré [mailto:[email protected]] Envoyé : mardi 24 juin 2014 14:53 À : [email protected] Objet : Re: Troubles when creating a builder with blueprint. Hi JP, you can using a wrapper bean or a factory. Regards JB On 06/24/2014 12:20 PM, CLEMENT Jean-Philippe wrote: > A builder usually returns itself to cumulates changes via Java. It could be > good to use the same method either from Java or Blueprint. From a language > perspective there is nothing which prevents this as a method is identified > via its name and arguments; it is not tied to its return type. > > Is the return type really prohibited from the Blueprint spec or is it left > unspecified? > > JP > > > -----Message d'origine----- > De : Jean-Baptiste Onofré [mailto:[email protected]] Envoyé : lundi 23 > juin 2014 17:49 À : [email protected] Objet : Re: Troubles when > creating a builder with blueprint. > > Hi Christophe, > > in JavaBeans (following by Blueprint), a setter is void, and a getter doesn't > have argument. > So it should be: > > public void setMaxValue(float maxValue) { > this.maxValue=maxValue; > } > public float getMaxValue() { > return this.maxValue; > } > > Regards > JB > > On 06/23/2014 05:34 PM, Lasserre Christophe wrote: >> Hello, >> >> I wrote a builder containing the following setter which does not >> return void (see following sample). >> >> /** >> >> * @param maxValue >> >> * Maximal value for compression law attributes >> >> * @return the builder. >> >> */ >> >> public CompressionLawBuilder setMaxValue(final float maxValue) >> { >> >> this.maxValue = maxValue; >> >> return this; >> >> } >> >> When I try to create the builder via blueprint, the runtime returns me >> the following error message; "Caused by: >> org.osgi.service.blueprint.container.ComponentDefinitionException: No >> setter for maxValue property" >> >> If I change the setter and make it return void, everything works >> perfectly, so is it normal that the return type of the setter has an >> impact on the application behavior ? >> >> Chris. >> >> [@@ OPEN @@] >> > > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com > -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
