How to enable an overview over the model and all data

Basic idea: Add an overview page which shows everything, i.e. all classes, and per class can show all instances. Then for an instance you can go to the edit bean page with this instance.

What is needed

  • AllClassesPage: Shows overview over all classes; simply uses AllClassesPanel
  • AllClassesPanel: Contains a list of all classes. For each item in the list the corresponding class can be "opened". Opening means setting another page (that shows the corresponding class in detail). The "Open" action cannot be coded completely in AllClassesPanel, because we don't know the Page class to use; we know however that the Page class should contain a form that shows the details of the modeled class.
  • AllObjectsOfClassPanel: Contains a list with all object of the class.
    • The "Open" action is implemented using the configurator's method getBeanPageFactory().createEditBeanPage().
    • How do we get the columns for the list? Idea:
      • WebbyConfigurator should have a method getFormDescriptorFactory. Webby4DBConfigurator could already implement this easily, as it needs (and has) a SimpleFormDesctriptorFactory already.
  • SimpleAllClassesPage, SimpleAllObjectsOfClassPage: Complete implementations to be used by the page superclass of SimpleEditBeanPage (yet to be built).

What about "meta"?

Can we reuse the forms, panels etc. we have got already just be using an extra WebbyConfigurator instance together with some (meta) model classes?

What meta model classes would be required?

  • WClass: represents each viewable class of the business model (M0).
    • attributes: name, numberOfInstances (all read-only)
    • relation "allInstances". The elements of the relation are the M0 instances of the WClass instance.
  • WModel: represents the business model as a whole.
    • attributes: none?
    • relation "allClasses", refers to WClass instances

    The meta model configurator could be instantiated with the M0 WebbyConfigurator instance as argument.

    Main questions then:

  • How to implement WClass.numberOfInstances?
  • How to implement WClass.allInstances?

    Maybe this can be an obligatory method of the M0 WebbyConfigurator?