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, IntrinsicPrefsEditorForPageletParametersModel, IntrinsicProfilePluginModel, IntrinsicUserPrefsPluginModel, InvCodesListModel, InvitationModel, IPAddressListModel, JobFoldersListModel, JobFoldersModel, JobHistoryPortletModel, JobLogModel, JobModel, KDDocumentDataStoreModel, KDFolderDataStoreModel, 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, PageletParamsMapPluginModel, 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, RemotePageletPickerPluginModel, 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, UserIdLookupModel, 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
 
Methods inherited from interface com.plumtree.uiinfrastructure.activityspace.IManagedObject
Create
 

Method Detail

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



Copyright © 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.