[
https://issues.apache.org/jira/browse/BEANUTILS-376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zdeněk Obst updated BEANUTILS-376:
----------------------------------
Attachment: (was: beanutils.patch)
> Supporting indexed (mapped) properties of Map objects
> -----------------------------------------------------
>
> Key: BEANUTILS-376
> URL: https://issues.apache.org/jira/browse/BEANUTILS-376
> Project: Commons BeanUtils
> Issue Type: Improvement
> Components: Bean / Property Utils
> Environment: JDK1.5_22, WinXP
> Reporter: Zdeněk Obst
> Priority: Minor
> Attachments: beanutils.patch
>
>
> So far, BeanUtils does not support indexed or mapped properties of Map object
> (PropertyUtilsBean.getPropertyOfMapBean(Map bean, String propertyName) )
> and throw IllegalArgumentException.
> For instance if you have Map<String, String[]> and you want to get property
> by calling propName[0] (or propName(0)), method isIndexed (isMapped) of
> DefaultResolver returns true which raises previously mentioned exception.
> From my point of view it seems that method gets data which needs and is
> possible to parse propertyName to get desired result.
> E.g. something similar to:
> {code}
> if (resolver.isIndexed(propertyName)) {
> String name = resolver.getProperty(propertyName);
> int idx = Integer.valueOf(resolver.getIndex(propertyName)); // handle
> NumberFormat exception by your way
> return ((Object[]) bean.get(name))[idx]; // handle ArrayIndexOutOfBounds
> and ClassCast exception by your way
> }
> {code}
> I was a bit surprised that I didn't find this issue in existing ones. I'm
> sorry if there is any which I omitted.
> Is it possible that this funcionality will be provided in any future release?
> Thank you
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.