You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Alfonso da Silva <al...@e-milio.com> on 2003/07/25 15:12:05 UTC
[BeanUtils] About DynaProperty definition
Hi!
I have a suggestion about DynaProperty definition. I'm working in a
persistent layer that works with Dyna* classes.
With the DynaProperty class, the type of an attribute can be defined. But
if I have an indexed (or a mapped) attribute (Vector, ArrayList,
HashMap...) I cann't define what class of objects can the DynaBean accepts.
I need something like this:
/* A mapped attribute whith Integer values (and String keys) */
DynaProperty p = new DynaProperty("integerMap",Integer.class);
p.setMapped(true);
or
/* An indexed attribute whith String values */
DynaProperty p = new DynaProperty("stringArray",String.class);
p.setIndexed(true);
or
/* A mapped attribute that accepts any value */
DynaProperty p = new DynaProperty("objectMap");
p.setMapped(true);
or
/* A simple Calendar attibute */
DynaProperty p = new DynaProperty("calendar",Calendar.class);
I believe that with indexed attributes (the same with mapped attributes)
it isn't necessary to specify if it is a ArrayList or a Vector or an
Array, because we recober the values of the DynaBean with the method
get(java.lang.String name, int index)
What do you think?
Alf.
--
Mensaje enviado desde http://www.e-milio.com
Re: [BeanUtils] About DynaProperty definition
Posted by robert burrell donkin <ro...@blueyonder.co.uk>.
On Friday, July 25, 2003, at 01:12 PM, Alfonso da Silva wrote:
> Hi!
>
> I have a suggestion about DynaProperty definition. I'm working in a
> persistent layer that works with Dyna* classes.
>
> With the DynaProperty class, the type of an attribute can be defined. But
> if I have an indexed (or a mapped) attribute (Vector, ArrayList,
> HashMap...) I cann't define what class of objects can the DynaBean
> accepts.
>
> I need something like this:
>
> /* A mapped attribute whith Integer values (and String keys) */
> DynaProperty p = new DynaProperty("integerMap",Integer.class);
> p.setMapped(true);
>
> or
>
> /* An indexed attribute whith String values */
> DynaProperty p = new DynaProperty("stringArray",String.class);
> p.setIndexed(true);
>
> or
>
> /* A mapped attribute that accepts any value */
> DynaProperty p = new DynaProperty("objectMap");
> p.setMapped(true);
>
> or
>
> /* A simple Calendar attibute */
> DynaProperty p = new DynaProperty("calendar",Calendar.class);
>
> I believe that with indexed attributes (the same with mapped attributes)
> it isn't necessary to specify if it is a ArrayList or a Vector or an
> Array, because we recober the values of the DynaBean with the method
> get(java.lang.String name, int index)
>
> What do you think?
hi alf
this sounds like a pretty reasonable enhancement. i've taken a look at
clazz and they use getContentClazz and getKeyClazz so maybe we could add
two additional methods getContentType and getKeyType. these values would
be there just to support introspection of these values rather than having
needing any changes to the current beanutils code, wouldn't they?
comments anyone?
- robert