[
https://issues.apache.org/jira/browse/WICKET-5252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13693829#comment-13693829
]
Daniel Zwicker commented on WICKET-5252:
----------------------------------------
Hm. Ok. I will tell my team to refactor all places the PropertyModel is used.
But i believe this i a huge problem. Every tutorial for wicket told you to use
this PropertyModel! And there is no remark about this behavior! Perhaps you
understand the problem with this more when i told you what happen in our
project.
We have these immutable object. Everybody in the backend team knows these
object. Now in the Frontendteam used new AjaxCheckBox("marker"). So. I have
told him the cause of our bug and he directly respond "args immutable.. Sorry".
Perhaps a solution would be a configuration switch to configure
PropertyResolver to throw exceptions in these cases. So everybody can pay
attention to this.
> PropertyResolver breaks immutable objects by calling setAccessible
> ------------------------------------------------------------------
>
> Key: WICKET-5252
> URL: https://issues.apache.org/jira/browse/WICKET-5252
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 6.8.0
> Reporter: Daniel Zwicker
>
> If a Bean only have private fields and no setter this object is immutable.
> The decision to implement such an object has a bunch of implications. e.g. it
> is thread safe, you can take snapshots of these object to store a version
> history and so on.
> Now your use of reflection breaks this isolation silently. I believe if
> somebody want set the values of the object he should implement a setter or
> provide a public field.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira