Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0
Description
Consider the following code:
public class MyComponent extends Panel implements Bindable {
@BXML
private String field;
public void setField(String field)
{ this.field = field; }
public String getField()
{ return field; }
// ...
}
Current behaviour: the BXML serializer attempts to set the private field directly, bypassing the public setter. This causes an exception, if the application runs as untrusted code, e.g. as an unsigned applet, because private field access is restricted.
Desired behaviour: call the public setter if it exists, and fall back to setting the private field directly only if the setter hasn't been defined. This would be also consistent with other frameworks such as Hibernate or Spring, which use setters and getters to set and get property values.