[ 
https://issues.apache.org/jira/browse/SANDBOX-464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13962189#comment-13962189
 ] 

Benedikt Ritter commented on SANDBOX-464:
-----------------------------------------

Hello André,

sorry for the late reply, I was a bit busy lately. So here are my thoughts to 
your comments above.

bq. So by allowing both it is a mitigation of the fluent API itself and may 
lead to very poor code \[3\].

The point you're missing here is, that property expression will most certainly 
be constructed at runtime and not at development time. Sure, if I know how I 
want to query the object graph, I'll use the fluent API (or even better: the 
access methods directly ;-) ). What I'm thinking about here is the case where 
the path is constructed from somewhere with the information "get the fifth 
item". The code would look something like:

{code:java}
String path = ...
int pos = ...
on(bean).get(path + "[" + pos + "]");
{code} 

Compare that to:

{code:java}
String path = ...
int pos = ...
on(bean).getIndexed(path).at(pos);
{code} 

bq. Allowing \[3\], which is what you are thinking of in your comment above, 
would IMHO permit and encourage the user to mix everything up.

Don't treat your users as complete idiots :-)

Thoughts?
Benedikt

> Add support for interpreting property expressions
> -------------------------------------------------
>
>                 Key: SANDBOX-464
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-464
>             Project: Commons Sandbox
>          Issue Type: Task
>          Components: BeanUtils2
>    Affects Versions: Nightly Builds
>            Reporter: Benedikt Ritter
>         Attachments: Commons-Sandbox-464-Get.patch
>
>
> BeanUtils 1 has the functionality to interpret property paths. For example 
> the call:
> {code:java}
> BeanUtils.getProperty("adress.street", person);
> {code}
> would first get the address of the given person and then get the street from 
> the address and return it. The same is possible for list and mapped 
> properties.
> In order to be supplement for BeanUtils1, we need to implement this in 
> BeanUtils2.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to