major
nice-to-have
defect
major
enhancement
ViewConfiguration is a factory for a view (a special case of HTMLFragment) within the context of a component. The API design is cumbersome because view creation occurs in two steps: first, create the view; then, retrieve the result of that creation. As a result, implementations inevitably become stateful and cannot be shared across sessions.
Analysis (retrospective)
The refactoring simultaneously fixes a memory leak that allowed an old session to be referenced from the configuration (see MaintenanceViewConfiguration#view).
Improvement
From
#!java void initView(LayoutComponent aComponent); View getConfiguredView();
becomes
#!java HTMLFragment createView(LayoutComponent component);
Code Migration
- Adjustments to derived classes in accordance with the above change.
- Various APIs in this context have been generalized from `View ` to `HTMLFragment `. If the `isVisible()` status is required, `Fragments.isVisible(HTMLFragment) ` can be used.
Test
No additional testing.