Class PortalContext

java.lang.Object
com.aquima.interactions.portal.model.session.PortalContext
All Implemented Interfaces:
Interruptible, IPortalContext, ISessionLifecycle, IInternalPortalContext, Serializable
Direct Known Subclasses:
TxPortalContext

public abstract class PortalContext extends Object implements IInternalPortalContext, ISessionLifecycle, Interruptible
Base class for the portal context.
Since:
6.0
Author:
O. Kerpershoek
See Also:
  • Constructor Details

  • Method Details

    • getTmsProfile

      protected abstract TmsProfile getTmsProfile()
    • startFlow

      protected abstract void startFlow(String flowName)
    • abortFlow

      protected abstract void abortFlow(String flowName)
    • completeFlow

      protected abstract void completeFlow(String flowName)
    • startTransaction

      protected abstract void startTransaction(String name)
    • commitTransaction

      protected abstract void commitTransaction(String name)
    • rollbackTransaction

      protected abstract void rollbackTransaction(String name)
    • getId

      public ApplicationID getId()
      Description copied from interface: IInternalPortalContext
      This method returns the ID of the application.
      Specified by:
      getId in interface IInternalPortalContext
      Returns:
      the ID of the application.
    • getCurrentLanguage

      public ILanguage getCurrentLanguage()
      This method returns the current language of the portal context (session).
      Specified by:
      getCurrentLanguage in interface IPortalContext
      Returns:
      the current language of the portal context (session).
    • setCurrentLanguage

      protected void setCurrentLanguage(String languageCode)
    • getSessionId

      public String getSessionId()
      Description copied from interface: IPortalContext
      Returns the ID of the session.
      Specified by:
      getSessionId in interface IPortalContext
      Returns:
      the id of the session (may be null).
    • setSessionId

      protected void setSessionId(String sessionId)
    • getCurrentFlow

      public String getCurrentFlow()
      Description copied from interface: IPortalContext
      Returns the current top-level flow.
      Specified by:
      getCurrentFlow in interface IPortalContext
      Returns:
      The current top-level flow.
    • getFlowState

      public IFlowState getFlowState()
      This method returns the current flow state of the portal context (session).
      Returns:
      the current flow state of the portal context (session).
    • setFlowState

      protected void setFlowState(IFlowState flowState)
    • getCurrentPageName

      protected String getCurrentPageName()
    • getConfiguration

      public IApplicationConfig getConfiguration()
      Description copied from interface: IInternalPortalContext
      This method returns the application configuration. The configuration might be useful for services and containers, and may therefore be moved to the IPortalContext interface if needed.
      Specified by:
      getConfiguration in interface IInternalPortalContext
      Returns:
      the application configuration.
    • getApplicationModel

      public IModule getApplicationModel()
      Description copied from interface: IInternalPortalContext
      This method returns the current application model.
      Specified by:
      getApplicationModel in interface IInternalPortalContext
      Returns:
      The current application model.
    • getChannelName

      protected String getChannelName()
    • getChannel

      protected Channel getChannel()
    • getUser

      protected IUserData getUser()
    • getMetaModel

      public IMetaModel getMetaModel()
      Description copied from interface: IPortalContext
      Returns the metamodel for which the current portal-session is constructed. This metamodel does not necessarily reflect the most recent version but it is the exact version this session was started with.
      Specified by:
      getMetaModel in interface IPortalContext
      Returns:
      The metamodel which is never null.
    • getResourceManager

      public IResourceManager getResourceManager()
      Description copied from interface: IPortalContext
      Retrieves the resource manager.
      Specified by:
      getResourceManager in interface IPortalContext
      Returns:
      Resource manager for the current session.
    • getConnectionManager

      public IConnectionManager getConnectionManager()
      Description copied from interface: IPortalContext
      This method may be used to request the connection manager of the application. The connection manager services the connections that are predefined for the application.
      Specified by:
      getConnectionManager in interface IPortalContext
      Returns:
      the connection manager of the application.
    • getFactoryManager

      public IFactoryManager getFactoryManager()
      This method returns the factory manager of the current application. The factory manager is not intended to be used by custom components, and is thus not exposed through the interface.

      Note: this method is not part of the IPortalContext interface.

      Specified by:
      getFactoryManager in interface IInternalPortalContext
      Returns:
      The factory manager of the current application.
    • getRuleEngine

      public IRuleEngine getRuleEngine()
      Description copied from interface: IPortalContext
      Returns the rule-engine for which the current portal-session is constructed. This rule-engine does not necessarily reflect the most recent version with the most recent rules however it is the exact version this session was started with.
      Specified by:
      getRuleEngine in interface IPortalContext
      Returns:
      The rule-engine which is never null.
    • getMatchEngine

      public IMatchEngine getMatchEngine()
      Description copied from interface: IPortalContext
      This method returns the match engine as configured for the application.
      Specified by:
      getMatchEngine in interface IPortalContext
      Returns:
      the match engine as configured for the application.
    • getComposer

      public IComposer getComposer()
      This method returns the composer of the application.

      Note: this method is not part of the IPortalContext interface.

      Specified by:
      getComposer in interface IInternalPortalContext
      Returns:
      the composer of the application.
    • getElementComposer

      public IElementComposer getElementComposer()
      Description copied from interface: IPortalContext
      This method returns an element factory that may be used to expand pre-defined elements from the composer using the current container context.
      Specified by:
      getElementComposer in interface IPortalContext
      Returns:
      An element factory that can be used to expand elements from the composer.
    • getMappingComposer

      public IMappingComposer getMappingComposer()
      Description copied from interface: IPortalContext
      This method returns an element factory that may be used to expand pre-defined elements from the composer using the mapping context.
      Specified by:
      getMappingComposer in interface IPortalContext
      Returns:
      An element factory that can be used to expand elements from the composer.
    • getTreeEngine

      public ITreeEngine getTreeEngine()
      Description copied from interface: IPortalContext
      The tree engine for the current session.
      Specified by:
      getTreeEngine in interface IPortalContext
      Returns:
      The tree-engine which is never null.
    • getExpressionParser

      public IExpressionParser getExpressionParser()
      Description copied from interface: IPortalContext
      Holds the expression parser which is bound to the rule engine. One can use this to prepare expressions for evaluation.
      Specified by:
      getExpressionParser in interface IPortalContext
      Returns:
      The expression parser which is never null
    • getFlowEngine

      public IFlowEngine getFlowEngine()
      Description copied from interface: IPortalContext
      The flow engine for the current session.
      Specified by:
      getFlowEngine in interface IPortalContext
      Returns:
      The flow-engine which is never null.
    • getTraceEngine

      public ITraceEngine getTraceEngine()
      Description copied from interface: IPortalContext
      This method returns the trace engine.
      Specified by:
      getTraceEngine in interface IPortalContext
      Returns:
      the Trace Engine.
    • getAuditEngine

      public IAuditEngine getAuditEngine()
      Description copied from interface: IPortalContext
      This method returns the audit engine. The audit engine can be used to log messages that can later be used to audit users behaviour inside the application. It is up to the developer to call the audit engine's audit functionality on the appropriate times when user activity should be logged.
      Specified by:
      getAuditEngine in interface IPortalContext
      Returns:
      the Audit Engine.
    • getApplicationMode

      public ApplicationMode getApplicationMode()
      Description copied from interface: IPortalContext
      This method returns the current application mode. Never returns null
      Specified by:
      getApplicationMode in interface IPortalContext
      Returns:
      The current application mode.
    • onStartRequest

      protected void onStartRequest(EventErrors errors, Map<String,?> parameters)
    • onEndRequest

      protected void onEndRequest()
    • getRequestErrorMap

      protected EventErrors getRequestErrorMap()
    • onStartTransition

      protected void onStartTransition()
    • onStartPage

      protected void onStartPage(boolean isSamePage, RequestAction action)
    • getUserScope

      public IUserScope getUserScope()
      Description copied from interface: IPortalContext
      Retrieves the user scope for the current user from the context. This object's life time is shared over sessions and applications.
      Specified by:
      getUserScope in interface IPortalContext
      Returns:
      A request scope corresponding to this request. Never null
      See Also:
    • getRequestScope

      public IRequestScope getRequestScope()
      Description copied from interface: IPortalContext
      Retrieves the request scope form the context. This object contains parameters and information about the request.
      Specified by:
      getRequestScope in interface IPortalContext
      Returns:
      A request scope corresponding to this request. Never null
      See Also:
    • getPageScope

      public IPageScope getPageScope()
      Description copied from interface: IPortalContext
      Retrieves the page scope form the context. This object contains parameters and information as long as the portal-engine is on the same page. After the page is left the scope is changed and is cleared to hold new properties bound to that page.
      Specified by:
      getPageScope in interface IPortalContext
      Returns:
      The page-bound scope which is never null.
      See Also:
    • getSessionScope

      public ISessionScope getSessionScope()
      Description copied from interface: IPortalContext
      This object contains parameters and information the entire session. This means from the portalsession is created until it has been destroyed. One could say the session scope lives at least as long as one is working with a specific application and profile.
      Specified by:
      getSessionScope in interface IPortalContext
      Returns:
      The session-bound scope which is never null.
      See Also:
    • getInternalSessionScope

      public IInternalSessionScope getInternalSessionScope()
      For internal use only.
    • getDocumentEngine

      public IDocumentEngine getDocumentEngine()
      Description copied from interface: IPortalContext
      This method returns a document engine for the current context.
      Specified by:
      getDocumentEngine in interface IPortalContext
      Returns:
      Document engine for the current session.
    • getServiceManager

      public IServiceManager getServiceManager()
      Description copied from interface: IPortalContext
      This method returns a service manager for the current context. Never returns null
      Specified by:
      getServiceManager in interface IPortalContext
      Returns:
      A service manager for the current session.
    • getFunctionCallDefinitionManager

      public IFunctionCallDefinitionManager getFunctionCallDefinitionManager()
      Description copied from interface: IPortalContext
      This method returns a function call definition manager for the current context. Never returns null
      Specified by:
      getFunctionCallDefinitionManager in interface IPortalContext
      Returns:
      A function call definition manager for the current session.
    • getMaskManager

      public IMaskManager getMaskManager()
      Description copied from interface: IPortalContext
      This method returns a mask manager for the current context. Never returns null
      Specified by:
      getMaskManager in interface IPortalContext
      Returns:
      A mask manager for the current session.
    • getContentManagerFactory

      public IContentManagerFactory getContentManagerFactory()
      Description copied from interface: IPortalContext
      This method returns the content manager factory for the current context
      Specified by:
      getContentManagerFactory in interface IPortalContext
      Returns:
      A content manager factory
    • getContentManagerFactory

      public IContentManagerFactory getContentManagerFactory(PersistenceLevel persistence)
      Description copied from interface: IPortalContext
      Returns a content manager factory for the current context and the given persistence level.

      When the persistence level is temporary, the content created with the returned content manager factory and content manager will be deleted when a certain event occurs (eg. portal scope ends, a certain amount of time passes, etc.) The strategy used to delete the temporary content is determined by the underlying ITemporaryPersistenceStrategy in use.

      When the persistence level is permanent, the content must explicitly be deleted from the connection when it is no longer needed.

      Specified by:
      getContentManagerFactory in interface IPortalContext
      Parameters:
      persistence - the desired persistence level
      Returns:
      the content manager factory, never null
    • setProcessScope

      public void setProcessScope(IProcessScope processScope)
    • getProcessScope

      public IProcessScope getProcessScope()
      Description copied from interface: IPortalContext
      This method returns a process scope for the current context. Never returns null
      Specified by:
      getProcessScope in interface IPortalContext
      Returns:
      A process scope.
    • getProject

      public IProject getProject()
      Description copied from interface: IPortalContext
      Returns the project for which the current portal-session is constructed. This project does not necessarily reflect the most recent version but it is the exact version this session was started with.
      Specified by:
      getProject in interface IPortalContext
      Returns:
      The project which is never null.
    • getMappingManager

      public IMappingManager getMappingManager()
      Description copied from interface: IPortalContext
      This method returns a mapping manager for the current context. Never returns null
      Specified by:
      getMappingManager in interface IPortalContext
      Returns:
      A mapping manager for the current session.
    • setSessionScope

      public void setSessionScope(PortalContext other)
      Method to use the session scope of the provided portal context.

      This method is for internal use only and should never be exposed via the portal context interface.

      Parameters:
      other - The other context, may not be null.
    • setSessionScope

      public void setSessionScope(IInternalSessionScope other)
      For internal use only and should never be exposed via the portal context interface.
      Parameters:
      other - the other session scope, may not be null.
    • forModule

      public IPortalContext forModule(ModuleID moduleId)
      Description copied from interface: IPortalContext
      This method returns a portal context for the specified module. If the module id refers to module of this context: 'this' is returned. Otherwise a new portal context (with empty state) is returned.
      Specified by:
      forModule in interface IPortalContext
      Parameters:
      moduleId - The module id, may not be null.
      Returns:
      The portal context for the specified module.
    • forModule

      public IPortalContext forModule(ModuleID moduleId, boolean createNew)
      Description copied from interface: IPortalContext
      This method returns a portal context for the specified module. If `createNew` is true, a new portal context (with empty state) is returned even if the module id refers to the module of this context. Otherwise, this method behaves identically to IPortalContext.forModule(ModuleID).
      Specified by:
      forModule in interface IPortalContext
      Parameters:
      moduleId - The module id, may not be null.
      createNew - Whether to create a new, empty, portal context even if this context refers to the requested module id.
      Returns:
      The portal context for the specified module.
    • getCommunicationEngine

      public ICommunicationEngine getCommunicationEngine()
      Description copied from interface: IPortalContext
      This method returns the current communication engine for the current context.
      Specified by:
      getCommunicationEngine in interface IPortalContext
      Returns:
      The communication engine, never null.
    • getWebServices

      public IWebServices getWebServices()
      Description copied from interface: IPortalContext
      This method returns the webservices for the current context.
      Specified by:
      getWebServices in interface IPortalContext
      Returns:
      The webservices, never null.
    • getState

      public IPortalContextState getState()
      Description copied from interface: IPortalContext
      Returns the state of the portalcontext (for serialization).
      Specified by:
      getState in interface IPortalContext
      Returns:
      returns the current state of the portalcontext.
    • restore

      public void restore(IPortalContextState state)
      Description copied from interface: IPortalContext
      Clears the current state and overrides it with the provided state.
      Specified by:
      restore in interface IPortalContext
      Parameters:
      state - The new state for this context.
    • getApplication

      public ISolution getApplication()
      Description copied from interface: IInternalPortalContext
      This method returns the current application.
      Specified by:
      getApplication in interface IInternalPortalContext
      Returns:
      The current application.
    • getCaseEngineClient

      public CaseEngineClient getCaseEngineClient()
      Description copied from interface: IPortalContext
      Returns the case engine client, may be null
      Specified by:
      getCaseEngineClient in interface IPortalContext
      Returns:
      the case engine client, may be null
    • getCommentsManager

      public ICommentsManager getCommentsManager()
      Description copied from interface: IPortalContext
      Returns the comments manager
      Specified by:
      getCommentsManager in interface IPortalContext
      Returns:
      the comments manager
    • getDebugger

      public IDebugger getDebugger()
      Description copied from interface: IPortalContext
      Returns a debugger instance if one is currently attached, or null if no debugger is attached.
      Specified by:
      getDebugger in interface IPortalContext
      Returns:
      a debugger instance, or null if none is attached.
    • destroy

      protected void destroy()
    • activate

      public void activate(ISessionActivationContext sessionActivationContext)
      Description copied from interface: ISessionLifecycle
      This method may be used for activating the objects after deserialization.
      Specified by:
      activate in interface ISessionLifecycle
      Parameters:
      sessionActivationContext - the current session activation context.
    • passivate

      public void passivate()
      Description copied from interface: ISessionLifecycle
      This method may be used for preparing the objects for serialization.
      Specified by:
      passivate in interface ISessionLifecycle
    • interrupt

      public void interrupt()
      Description copied from interface: Interruptible
      Sets the interrupted flag, indicating that this object should interrupt the computation it is currently performing (typically on another thread) as soon as possible, and exit by throwing an InterruptedException.
      Specified by:
      interrupt in interface Interruptible
    • isInterrupted

      public boolean isInterrupted()
      Description copied from interface: Interruptible
      Indicates whether the interrupted flag has been set.
      Specified by:
      isInterrupted in interface Interruptible
      Returns:
      true if the interrupted flag is set, false otherwise.