[ 
https://issues.apache.org/jira/browse/TAPESTRY-2404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship reassigned TAPESTRY-2404:
----------------------------------------------

    Assignee: Howard M. Lewis Ship

> PropertyConduitSource could build a shared method to "navigate" to the final 
> property
> -------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2404
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2404
>             Project: Tapestry
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.0.11
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>            Priority: Minor
>             Fix For: 5.1
>
>
> Currently, the generated code for a PropertyConduit has a lot of duplication 
> in it; the duplication being the initial check that the root is not null (a 
> sanity check), then casting it from object to the expected expression root 
> type, then following the steps to read properties.  The divergence occurs in 
> the final step, where the read gets a property and the write sets a property. 
>  Along the way, there are null checks and conversions from primitive to 
> wrapper types.
> This could be encapsulated in a navigate() method that is passed the root 
> object and returns the final object.  A simple property expression would just 
> return the root object.  "foo.bar" would return property foo (i.e. 
> root.getFoo()), so that the writer could invoke setBar() and the reader could 
> invoke getBar() ... and so forth.
> This will be more important when the expression language grows so support 
> invoking methods with parameters, or generating lists or maps (and other 
> goodness that OGNL used to supply).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to