You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Na...@toyota.ca on 2003/03/13 19:19:29 UTC
[BeanUtils] Got NullPointerException when get/set in index property of a
BasicDynaBean
Hi all, I got a NullPointerException when executing dynaBean.set.
final BasicDynaClass dynaClass = new BasicDynaClass(
"myDynaClass", BasicDynaBean.class, new DynaProperty[] {
new DynaProperty( "strArrayProp", String[].class ),
new DynaProperty( "intArrayProp", Integer[].class )
} );
final BasicDynaBean dynaBean = (BasicDynaBean)
dynaClass.newInstance();
dynaBean.set( "strArrayProp", 0, "Hello 0" );
getLog().trace( "after second set: strArrayProp[0]=" +dynaBean.get
( "strArrayProp", 0 ) );
Did I use DynaBean wrong?
When I look at the BasicDynaBean implementation, looks like only the set
method for non-indexed property will check the DynaClass property
definition. I must be missing something.
Thanks.
Re: [BeanUtils] Got NullPointerException when get/set in index
property of a BasicDynaBean
Posted by "Craig R. McClanahan" <cr...@apache.org>.
On Thu, 13 Mar 2003 Natalie_Ng@toyota.ca wrote:
> Date: Thu, 13 Mar 2003 13:19:29 -0500
> From: Natalie_Ng@toyota.ca
> Reply-To: Jakarta Commons Users List <co...@jakarta.apache.org>
> To: commons-user@jakarta.apache.org
> Subject: [BeanUtils] Got NullPointerException when get/set in index
> property of a BasicDynaBean
>
> Hi all, I got a NullPointerException when executing dynaBean.set.
>
> final BasicDynaClass dynaClass = new BasicDynaClass(
> "myDynaClass", BasicDynaBean.class, new DynaProperty[] {
> new DynaProperty( "strArrayProp", String[].class ),
> new DynaProperty( "intArrayProp", Integer[].class )
> } );
> final BasicDynaBean dynaBean = (BasicDynaBean)
> dynaClass.newInstance();
At this point, you have created the DynaBean, but *not* the properties
themselves. You'll want to precreate the arrays with some appropriate
number of elements, perhaps by doing this:
dynaBean.set("strArrayProp", new String[3]);
dynaBean.set("intArrayProp", new Integer[5]);
> dynaBean.set( "strArrayProp", 0, "Hello 0" );
> getLog().trace( "after second set: strArrayProp[0]=" +dynaBean.get
> ( "strArrayProp", 0 ) );
>
> Did I use DynaBean wrong?
> When I look at the BasicDynaBean implementation, looks like only the set
> method for non-indexed property will check the DynaClass property
> definition. I must be missing something.
>
> Thanks.
>
Craig