com.plumtree.uiinfrastructure.activityspace
Interface IModel
- All Superinterfaces:
- IManagedObject, IModelRO, IMVCObject
- All Known Subinterfaces:
- IBestBetModel, IDirModel, IDirModelRO, IFolderModel, IFolderSelectorModel, IGatewayModel, ILocalizedStringsModel, IMigrationHistoryModel, INetworkSearchModel, IOpenDocModel, IPaginationModel, IPlumtreeUtilitiesModel, IPortalSettingsModel, IRepostModel, ISearchResultModel, IServerSettingsModel, ISessionPrefsModel, ISetServerSettingsModel, ISortModel
- All Known Implementing Classes:
- AApprovalModel, AClearModel, ActivityRightsTreeModel, ActSecurityPluginModel, AdaptiveLayoutsModel, AddSettingsPluginModel, AddUserInfoPluginModel, AdminFolderModel, AdminSearchModel, AdminTreeModel, AdvancedSearchModel, AdvSettingsPluginModel, AErrorModel, AjaxModel, AObjectTreeModel, AreYouSureModel, AssociatedObjectsModel, AssocObjectsPluginModel, ATreeModel, AuditManagerModel, AuthSourceModel, AuthSourceSelectWebServiceModel, AutomationServerListModel, AutomationServerModel, AWSSettingsPluginModel, BasicAuthPluginModel, BestBetModel, CardEditorModel, CardLanguagePlugInModel, ChoosePageDevicesModel, ChooseWSTypePluginModel, CollabExpListModel, CommunitiesPortletModel, CommunityEditorModel, CommunityEditorSubcommunityModel, CommunityTemplateModel, CommunityTemplateSelectorModel, CrawlerModel, CreateAccountModel, CredentialVaultManagerModel, CredentialVaultPluginModel, CredVaultTreeModel, CustomActivityModel, CWSSettingsPluginModel, DataSourceModel, DataSourceSelectWebServiceModel, DebugConfigPluginModel, DebugPortletPluginModel, DebugUserPluginModel, DiagnosticPageModel, DirectoryTreeModel, DirModel, DirPrefsModel, DirSubmitModel_D, DisplayOptModel, DocTypeModel, DocTypePlugInModel, DocumentApprovalModel, DSModel, EditCardPropModel, EditDefaultProfileModel, EditMyPagePortletLayoutModel_D, EditMyPortalPageModel, EditorHelperModel, EditorModel, EditPortletPrefsModel, EditWebLinkModel, EODPortletModel, EODPortletPrefsModel, EODPortletPrefsProfileSectionListModel, EODPortletPrefsSelectPTObjectModel, ErrorDevicesModel, ErrorModel, ExpListModel, ExpListPropModel, ExternalOperationEditorModel, FileDownloadModel, FilterModel, FolderEditorModel, FolderSelectorModel, FoldersPortletModel, FormLoginFieldsPluginModel, FormLoginPluginModel, GatewayCachingPluginModel, GatewayModel, GatewayPrefixPluginModel, GatewaySettingsPluginModel, GbDocTypeExtListModel, GbDocTypeExtModel, GbDocTypeListModel, GbDocTypeModel, GbObjEditorModel, GlobalACLSyncMapListModel, GlobalACLSyncMapModel, GlobalObjsTreeModel, GroupListModel, GroupModel, GrowableListModel, HelpURLPluginModel, HostServicesModel, HTTPMemoryDebugModel, HTTPSettingsPluginModel, InheritListModel, InheritTemplateModel, IntrinsicHelpSpacePluginModel, IntrinsicPortletModel, IntrinsicPortletPrefsEditorModel, IntrinsicPortletWSSettingsPluginModel, IntrinsicProfilePluginModel, IntrinsicUserPrefsPluginModel, InvCodesListModel, InvitationModel, IPAddressListModel, JobFoldersListModel, JobFoldersModel, JobHistoryPortletModel, JobLogModel, JobModel, KeywordsModel, LayoutSelectionModel, LinkSettingsPlugInModel, LocaleSettingsModel, LocalizedStringsModel, LockboxEditorModel, LockboxListModel, LocNamesModel, LoggingHelperModel, LoginDevicesModel, LoginModel, LoginPortletModel, LogoffDevicesModel, MainActivityRightsListModel, MainActivityRightsModel, MigrationDependencyListModel, MigrationHistoryModel, MigrationHistoryPluginModel, MigrationLoadPackageModel, MigrationSelectForExportModel, MigrationSelectForImportModel, MigrationUtilityExportModel, MigrationUtilityImportModel, MigrationUtilityModel, MultiColumnListModel, MultiObjectsSecurityModel, MultiObjectsSubscribeModel, MultipleCardLinkSettingsModel, MWSSettingsPluginModel, MyCommunitiesListModel, MyPageDevicesModel, MyPortalModel, NavigationModel, NetSearchModel, NetSearchModel, NetworkSearchModel, ObjectApprovalModel, ObjectLockManagerModel, ObjectSecurityModel, ObjectSelectionModel, ObjEditorModel, ObjMgrModel, ObjPropEditorModel, ObjPropMapModel, ObjPropMapPluginModel, ObjPropModel, OpenDocModel, OutgoingNSModel, OutgoingNSSelectWebServiceModel, PageEditorModel, PageLayoutPlugInModel, PageListModel, PageNamePlugInModel, PageTemplateListModel, PageTemplateModel, PasswordManagerModel, PasswordManagerSectionModel, PasswordModel, PChooseModel, PickListValuesListModel, PickTreeColumnsListModel, PlumtreeAuthSourceEditorModel, PlumtreeUtilitiesModel, PortalSettingsModel, PortalTipsModel, PortletBundleModel, PortletDevicesModel, PortletInBundleObjectSelectionModel, PortletModel, PortletSelectModel, PortletSettingsModel, PowerSearchModel, PrefsListPluginModel, PreviewCommunityBarModel, PreviewCommunityModel, PreviewPortletModel, PriorityDropDownModel, ProfileSourceModel, ProfileSourceSelectPTObjectModel, ProfileSourceSelectWebServiceModel, PropChooserModel, PropertyMapEditorModel, PropModel, PSelectTemplateModel, PTMultiColumnListModel, PWSSettingsPluginModel, RelatedServersModel, RemoteAuthSourceModel, RemoteConfigPluginModel, RemoteHostsModel, RemoteMigrationPluginModel, RemoteProfileSourceModel, RemoteServerModel, RemoteServerPluginModel, RuleEditorModel, RulesDebugMSGModel, RulesListModel, SavedSearchModel, SavedSearchPortletModel, SavedSearchPortletPrefsModel, SaveObjectModel, SavSrchDisplayFieldsListModel, SearchPortletModel, SearchResultModel, SearchServerSettingsEditorModel, SearchServerTuningEditorModel, SearchSettingsModel, SecurityMatrixModel, SelectActivityRightsModel, SelectDevicesPluginModel, SelectPTObjectModel, SelectPTObjectsByTypeModel, SelectWebServiceModel, SendInvitationModel, ServerSettingsModel, ServerTreeModel, SessionPrefsModel, SetJobModel, SetServerSettingsModel, SimpleSelectorModel, SinglePageErrorModel, SiteMapFolderModel, SiteMapFolderPlugInModel, SiteMapModel, SiteMapPortletModel, SiteMapPortletPrefsModel, SiteMapPortletPrefsSortedLinksModel, SmartSortEditorModel, SOAPCardSubmitAdvancedModel, SOAPCrawlerModel, SOAPDSModel, SOAPEncodingPluginModel, SortedMetaDataListModel, SortedMultiColumnListModel, StandardFooterModel, StandardHeaderModel, SubPortalModel, SubportalRulesManagerModel, SubscribeMatrixModel, SummaryURLPluginModel, SWSSettingsPluginModel, TagLibListModel, TagLibModel, TemplateListModel, TemplateTreeModel, TipsModel, TypeSelectorModel, UnsubscribeCommunitiesModel, UserInfoPluginModel, UserInfoPropMapListModel, UserInfoPropMapModel, UserInfoTreeModel, UserLockListModel, UserLockManagerModel, UserModel, UserPrefsPluginModel, UserProfileModel, UserProfileObjEditModel, UserRESTModel, UsrProfMgrModel, VarPackModel, WebServiceModel, WWWCardSubmitAdvancedModel, WWWCrawlerModel, XUIHelperModel, XUIURLPluginModel
public interface IModel
- extends IModelRO, IManagedObject
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
Method Summary |
void |
CleanupAllData()
This method is called when an ActivitySpace is removed from the cache. |
void |
CleanupTempData()
This method is called at the end of every HTTP request by the Interpreter. |
void |
Init(AActivitySpace parent)
This method initializes the model. |
Methods inherited from interface com.plumtree.uiinfrastructure.activityspace.IMVCObject |
GetName |
CleanupTempData
void CleanupTempData()
- This method is called at the end of every HTTP request by the Interpreter.
The Interpreter calls AActivitySpace.CleanupTempData(), which calls this
method on all IModels registered using AActivitySpace.RegisterModel().
This method is intended for cleaning up temporary data that is only used
for the lifetime of a single request, like DB query results.
CleanupAllData
void CleanupAllData()
- This method is called when an ActivitySpace is removed from the cache.
The Interpreter calls AActivitySpace.CleanupAllData(), which calls this
method on all IModels registered using AActivitySpace.RegisterModel().
This method is intended for releasing data stored in the server when
the activity space is no longer needed, such as search objects that
need to be maintained as long as the user is clicking through the
search, but should be freed when the space can no longer be used.
This can be used to prevent Java references to COM memory from hanging
around in the long lived Java heap without cleaning up the underlying
COM memory. The Java reference will still stay in the long lived heap
until it gets garbage collected (which could be a while), but the COM
memory should get released here.
This method will not be called if an HTTPSession times out.
CleanupTempData will be called before CleanupAllData.
Init
void Init(AActivitySpace parent)
- This method initializes the model. This is called automatically when
AActivitySpace.RegisterModel() is called.
- Parameters:
parent
- the parent Activity Space