My Current Model Framework, Part 2: An Example
Fri Feb 21 15:27:19 EST 2014
- My Current Model Framework, Part 1
- My Current Model Framework, Part 2: An Example
To go along with the updated release of my Scaffolding project yesterday, I've created an example database created with that template and containing a basic use of my model framework:
This demonstrates a few things about the framework:
-
Setting up the two classes that go with each object type - the object itself (e.g.
model.Department
) and the "manager" class that handles fetching objects and collections (e.g.model.DepartmentManager
) and adding the collections to faces-config.xml. - Tying the manager class to the views in a database using views with a common prefix. In this case, they point to the current database, though I recommend storing the data in another DB.
-
Adding relations between objects. A
Person
object is tied to a givenDepartment
by way of thegetDepartment
method, while aDepartment
lists its people via thegetPeople
method. -
Using the collections on an XPage with
xp:viewPanel
controls, including showing "columns" that are not in the view - the objects automatically fetch from the document when the column isn't present (which is inefficient but useful sometimes). -
Attaching a model object to an XPage using a
xp:dataContext
and using a controller class to save it.
I have a few ideas in mind to improve day-to-day use of the model framework (for example, I may set up proper data sources for individual objects so they can tie into the normal save events), so they may change over time, but this is how I develop most apps today.