That violates the JavaBeans specification.  "myProperty" is supposed
to be of one type only.

On Sat, Jun 5, 2010 at 10:02 PM, Dimitris Tsitses <4.biz....@gmail.com> wrote:
> Hi all, I'm trying to do something really simple but I can't seem to figure 
> it out, I hope someone can help.
>
> I have a simple bean:
>
>
> public class MyBean {
>        private ClassTypeA myProperty;
>
>        public void setMyProperty(ClassTypeA anObj) {
>                this.myProperty = anObj;
>        }
>        public void setMyProperty(ClassTypeB anObj) {
>                this.myProperty = Converter.convertBtoA(anObj);
>        }
>
> }
>
> If I invoke the setter by passing an instance of ClassTypeA, it works without 
> a problem:
> BeanUtils.setProperty(myBeanInst, "myProperty", instanceOfClassTypeA);
>
>
> However if I invoke the setter by passing an instance of ClassTypeB, I get an 
> exception and the setter is never actually called:
> BeanUtils.setProperty(myBeanInst, "myProperty", instanceOfClassTypeB);
> java.lang.IllegalArgumentException: Cannot invoke.. la la la - argument type 
> mismatch -
>
> I can't believe it is not possible to do that, I'm sure I'm just missing 
> something. Any help will be greatly appreciated.
>
> Many thanks
> Dimitris

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to