Description
Description
I have form fields that are reused across multiple forms. I want to put them into a base class and have the individual forms inherit some of their fields from their parent class.
Steps to Reproduce
Simplified example:
public class GeneralSettings implements Serializable {
@Tab(title = "General Settings", index = 0) @CheckBox(title = "Enabled") private boolean enabled; public boolean getEnabled() { return enabled; }
}
public class MoreSettings extends GeneralSettings {
@Tab(title = "More Settings", index = 1) private int maximum; public int getMaximum() { return maximum; }
}
To run:
UiForm uiForm = UiFormSchemaGenerator.get().generate(MoreSettings.class);
Expected behavior: [What you expect to happen]
I expect the schema to contain two properties and the form to contain two nodes: enabled and maximum
Actual behavior: [What actually happens]
The generated schema contains both fields, but the form contains only the field declared in MoreSettings, not the field declared in its parent.
Versions
1.0.0
Additional Information
I see a call to getDeclaredFields() inside UiFormSchemaGenerator.generate() so maybe this behavior is intentional. Please let me know.
Thanks!