[
https://issues.apache.org/jira/browse/WICKET-5252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Grigorov resolved WICKET-5252.
-------------------------------------
Resolution: Won't Fix
PropertyModel's javadoc explains that:
* Note that the property resolver by default provides access to private
members and methods. If
* guaranteeing encapsulation of the target objects is a big concern, you
should consider using an
* alternative implementation.
As I said earlier - you should not use PropertyModel if you want to use
immutable model object. You can use AbstractReadOnlyModel if you want just read
access.
> 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