Page Flow Content - March 27 2007
Sandip, Deva, Joelle
To define the overall architecture in which FacesModel contents for a given FileObject can be viewable in the Page Flow Editor.
Four new interface/classes will be added. The first three interfaces/classes all exist with web/jsf/navigation.
- PageContentModelProvider - An interface with only one menthod getPageContentModel(FileObject obj)
- PageContentModel - An abstract class that contains the components (PageContentItems) to be specified in a give page. Also allows for registered listeners.
- PageContentItem - Each content item has the following attributes (name, icon, outcome|action, actions)
- PageContentModelSupport - implements PageContentModelProvider. It is to exist in visualweb/navigation and can therefore dependency on visualweb/insync. It will use a facesmodel to create instances of PageContentModel. This class will be registered into the lookup via Meta-inf services.
PageFlowController will check for any registered PageContentModelProvider. Foreach provider it will call getPageContentModel, passing the fileobject of the faces-config. If the provider returns null, it is assumed the that PageContentModelProvider does not "know" the given fileobject. It will iterate through the providers until a model is given. Once the model is given, the PageFlowController will use the model to populate a page in the scene.
This documentation can be used to setup a provider.