com.plumtree.uiinfrastructure.activityspace
Interface IModelRO
- All Superinterfaces:
- IMVCObject
- All Known Subinterfaces:
- IApprovalModelRO, IEditorModelRO, IErrorModelRO, IExpListModelRO, IGrowableListModelRO, IModel, IMultiColumnListModelRO, IPaginationModel, IPaginationModelRO, IRepostModel, ISortModel, ISortModelRO, ITipsModelRO, ITreeModel, ITreeModelRO
- All Known Implementing Classes:
- AApprovalModel, AClearModel, AErrorModel, ATreeModel, EditorHelperModel, EditorModel, ErrorModel, ExpListModel, FileDownloadModel, GrowableListModel, MultiColumnListModel, SinglePageErrorModel, SortedMetaDataListModel, SortedMultiColumnListModel, TipsModel
public interface IModelRO
- extends IMVCObject
Models encapsulate the data in the MVC framework. Views have access to the read
only model interface and should only read data from it. Controls get and set data,
and therefore use the base IModel interface.
Models should encapsulate the data handling of the AActivitySpace. Temporary UI
data that you want to store for each user should go here. As an MVC component,
Models are subject to the strict separation between data, logic, and presentation.
It is a requirement that Models not reference HTMLElements or HTMLConstructs.
Models can return text Strings for display in HTML, but they are not allowed to use
HTML themselves.
It is also a requirement that Models not return server structures to Views. For
instance, rather than returning an IPTQueryResult to a View, the model should
provide accessor methods to it. Views can use server constants such as
PT_PROPIDS.PT_PROPID_NAME.
Obviously, there should be a good way to refer to models without having to
manually type in a text string. There should be some sort of package identifier
used to get these.
When writing a model class, the Get methods (read-only methods) should be split
out into an IMyModelRO interface, which MyModel then implements. MyModel would
also include all of the Set methods (write methods) and any helper methods. There
does not need to be an IMyModel interface for the Set methods, unless you are
expecting someone to implement their own version of your model.
- Author:
- Don Hayler
| Methods inherited from interface com.plumtree.uiinfrastructure.activityspace.IMVCObject |
GetName |