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