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

Barry Books commented on TAP5-2099:
-----------------------------------

I added some logging code to the GitHub project so you can see when get/set is 
called. it's been 3 years since I looked thru the code and I don't remember how 
the value is stored either.

As far not calling the set method if isInvariant() is true I don't think that 
the right thing to do. isInvariant means get always returns the same value so 
the binding can be cached. Suppose I wanted to create an alt: binding to 
alternate between values as in

alt:red,green,blue

this binding would return isInvariant() false but the set method would still do 
nothing. The selector binding I wrote also returned isInvariant() false but the 
set method does nothing. I downloaded all the 5.4 source so I'll make a change, 
run the test cases and submit a patch if they pass. 

> Update parameters bound to literal: or symbol: from a mixin
> -----------------------------------------------------------
>
>                 Key: TAP5-2099
>                 URL: https://issues.apache.org/jira/browse/TAP5-2099
>             Project: Tapestry 5
>          Issue Type: Improvement
>    Affects Versions: 5.3.6, 5.4
>            Reporter: Lance
>              Labels: patch
>         Attachments: TAP52099-1.patch
>
>
> Currently, I cannot update a component component parameter that is 
> initialized with a literal: or symbol: binding from a mixin. If I try to 
> @BindParameter the param and change it's value, I get a "Binding %s is 
> read-only" exception (originating from AbstractBinding).
> I propose that literal and symbol bindings are sourced from a PerThreadValue 
> that can be updated by a mixin.
> My original need for this was to create a "SinglePage" mixin for the Grid 
> component which would set the rowsPerPage parameter to Integer.MAX_VALUE. I 
> can't currently do this because by default, the parameter is a symbol: 
> binding.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to