All Superinterfaces:
AuditingContext, LoggingContext, PerspectiveElement, PropertyTreeOwner
All Known Subinterfaces:
InternalSession
All Known Implementing Classes:
AbstractSession, PerspectiveDesignSession, PerspectiveProjectSession, SecuredPerspectiveProjectSession, SessionKernelWrapper

public interface Session extends PerspectiveElement
  • Method Details

    • queue

      Queue upon which all work for components and their properties should occur on
    • scope

      SessionScope scope()
      The scope in which this context represents -- Client or Designer
    • getProjectName

      String getProjectName()
      The project that this session is running.
    • findPage

      Optional<? extends Page> findPage(String pageId)
      Find the Page associated with the given page ID
      Parameters:
      pageId - the page ID associated with the target page
      Returns:
      the page associated with the given page ID if it exists
    • getPages

      List<? extends Page> getPages()
      Returns:
      A list of all open pages for this session
    • findViewConfig

      CompletableFuture<Optional<ViewConfig>> findViewConfig(String viewPath)
      Returns a CompletableFuture that completes to present an Optional<ViewConfig> for the specified path. The use of the future is to allow for the asynch collection of configs for views which are retrieved via asynchronous processes, as is the case when a view is being edited/altered in the designer.
      Parameters:
      viewPath - path to the view's project resource within the project being run.
    • createViewModel

      ViewModel createViewModel(PageModel group, ViewInstanceId id, ViewConfig config, com.inductiveautomation.ignition.common.gson.JsonObject params)
    • getTagManager

      TagManager getTagManager()
    • getTagHistoryManager

      TagHistoryManager getTagHistoryManager()
    • getScriptManager

      ScriptManager getScriptManager()
    • getNamedQueryManager

      NamedQueryManager getNamedQueryManager()
    • getEventBus

      @Deprecated com.google.common.eventbus.EventBus getEventBus()
      Deprecated.
      Replaced by getEventManager(). Will be removed in 8.2.0
    • getEventManager

      EventManager getEventManager()
      An EventManager for events targeted to the running Perspective Project this session.
    • getSessionStats

      SessionStats getSessionStats()
      Returns:
      An object containing various statistics that pertain to this session. Also useful for registering metrics that will automatically get removed when this session is shut down.
    • getSessionId

      UUID getSessionId()
      Returns:
      A unique identifier for this session instance.
    • getPerspectiveContext

      PerspectiveContext getPerspectiveContext()
    • getGatewayContext

      default GatewayContext getGatewayContext()
    • getPageTimeout

      default long getPageTimeout()
    • getWebAuthStatus

      @Nonnull WebAuthStatus getWebAuthStatus()
      Returns:
      the WebAuthStatus for this Session
    • refreshBinding

      void refreshBinding(PropertyKey property)
      Refresh the binding for the given property
      Parameters:
      property - the property which has the binding to refresh
    • getName

      default String getName()
      Specified by:
      getName in interface PerspectiveElement
      Returns:
      The name of the element. If this is a component, it will be the name of the component. If this is a View, the name will be "view". If this is a Page, the name will be "page". If this is the session, the name will be "session".
    • getSession

      @Nonnull default Session getSession()
      Specified by:
      getSession in interface PerspectiveElement
      Returns:
      The session that this element is a part of.
    • getPage

      @Nullable default Page getPage()
      Specified by:
      getPage in interface PerspectiveElement
      Returns:
      The Page that this element is part of. Will return null if this is the Session
    • getView

      @Nullable default View getView()
      Specified by:
      getView in interface PerspectiveElement
      Returns:
      The view within which this element exists, or null if this is a Page or Session
    • getMdcParent

      @Nullable default LoggingContext getMdcParent()
      Specified by:
      getMdcParent in interface LoggingContext
    • mdcSetup

      default void mdcSetup()
      Description copied from interface: LoggingContext
      Set up the MDC keys for this context
      Specified by:
      mdcSetup in interface LoggingContext
    • mdcTeardown

      default void mdcTeardown()
      Description copied from interface: LoggingContext
      Tear down the MDC keys that are added in #mdcSetup
      Specified by:
      mdcTeardown in interface LoggingContext
    • close

      void close(@Nullable String message)
      Destroys this session and moves clients to a terminal state of closed
      Parameters:
      message - the message displayed to the client on the terminal state page
    • sendErrorToDesigner

      default void sendErrorToDesigner(String message, Throwable throwable)
      Pipes the error message down to the designer (or no-op if this is a client)