Interface Session

    • Method Detail

      • queue

        ExecutionQueue 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

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

        java.util.Optional<? extends Page> findPage​(java.lang.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

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

        java.util.concurrent.CompletableFuture<java.util.Optional<ViewConfig>> findViewConfig​(java.lang.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.
      • getEventBus

        com.google.common.eventbus.EventBus getEventBus()
        An EventBus for events targeted to the running Perspective Project this session.
        Returns:
        The EventBus
      • getSessionId

        java.util.UUID getSessionId()
        Returns:
        A unique identifier for this session instance.
      • getPageTimeout

        default long getPageTimeout()
      • refreshBinding

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

        default java.lang.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".
      • 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
      • 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
                   java.lang.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​(java.lang.String message,
                                         java.lang.Throwable throwable)
        Pipes the error message down to the designer (or no-op if this is a client)