[
https://issues.apache.org/jira/browse/TAP5-2099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15165660#comment-15165660
]
Lance edited comment on TAP5-2099 at 2/24/16 10:48 PM:
-------------------------------------------------------
Ok... I still don't fully understand where the value is stored if not in the
binding. So long as it's in a request/thread scoped place I'm happy.
I'm not convinced that a no-op setter is the "proper" fix. Instead I think the
caller (ParameterWorker?) should NOT invoke {{Binding.set(..)}} if
{{Binding.isInvariant()}} returns true.
was (Author: uklance):
Ok... I still don't fully understand where the value is stored if not in the
binding. So long as it's in a request/thread scoped place I'm happy.
I'm not convinced that a no-op setter is the "proper" fix. Instead I think the
caller (ParameterWorker?) should NOT invoke `Binding.set(..)` if
`Binding.isInvariant()` returns true.
> 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)