On 8/24/2010 4:13 AM, Valentin Mahrwald wrote:
Hi,

Aries blueprint may call getters for chained property access

   <property name="foo.bar" value="..." />,

but I would argue the scenario below even though dodgy can still be supported. 
Essentially, I think there maybe a scenario where the setter takes a primitive 
value but the getter
returns a complex object constructed from the primitive. In that scenario 
having different arg types might be useful.

So I would think this should be a warning rather than an error scenario, but 
having the warning is probably quite useful.
It was certainly the intent of the blueprint specification that the setter/getter method names follow the JavaBeans design pattern of having type matches when both a getter and setting method is implemented by the target class. This was definitely discussed during the final spec writing phase and the compliance tests also contain a test that validates that this is an error.

Rick


Valentin


On 24 Aug 2010, at 06:36, Alasdair Nottingham wrote:

Since blueprint doesn't call the getter I don't think it should care about the 
return type.

So I would tend to think this should be fine.

Alasdair

On 24 Aug 2010, at 03:58, Lin Sun<[email protected]>  wrote:

Hi

A while back ago, Aries-366 was committed to allow property injection
for properties with overloaded setter method.

I have one question regarding the changes for a simple scenario with
no overloading.

For example, in my bean I have -

   // mismatched setters/getters
   public void setValue(int v) {
       this.value = v;
   }

   public Object getValue() {
       return null;
   }

In this case, should the blueprint container throw component
definition exception when attempting to create such a bean metadata?

I tends to think yes, and in our code, we should check the return of
the get method equals to the first parameter of the set method when
there is only one setter method exists.

Thoughts?

Lin


Reply via email to