Interface PlaceManager

  • All Known Implementing Classes:
    PlaceManagerImpl, PluginPlaceManagerImpl

    @JsType
    public interface PlaceManager
    A Workbench-centric abstraction over the browser's history mechanism. Allows the application to initiate navigation to any displayable thing: a WorkbenchPerspective, a WorkbenchScreen, a WorkbenchPopup, a WorkbenchEditor, a WorkbenchPart within a screen or editor, or the editor associated with a VFS file located at a particular Path.
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      boolean canCloseAllPlaces()  
      boolean canClosePlace​(org.uberfire.mvp.PlaceRequest place)  
      void closeAllPlaces()  
      boolean closeAllPlacesOrNothing()  
      void closePlace​(String id)  
      void closePlace​(org.uberfire.mvp.PlaceRequest placeToClose)  
      void closePlace​(org.uberfire.mvp.PlaceRequest placeToClose, org.uberfire.mvp.Command doAfterClose)  
      default void executeOnCloseCallbacks​(org.uberfire.mvp.PlaceRequest place)  
      default void executeOnOpenCallbacks​(org.uberfire.mvp.PlaceRequest place)  
      void forceCloseAllPlaces()  
      void forceClosePlace​(String id)  
      void forceClosePlace​(org.uberfire.mvp.PlaceRequest place)  
      Collection<SplashScreenActivity> getActiveSplashScreens()  
      Collection<org.uberfire.mvp.impl.PathPlaceRequest> getActivitiesForResourceType​(org.uberfire.workbench.type.ResourceTypeDefinition type)
      Finds the currently open PlaceRequests for Activities that handle the given ResourceTypeDefinition.
      Activity getActivity​(org.uberfire.mvp.PlaceRequest place)
      Finds the currently open activity that handles the given PlaceRequest by ID.
      List<org.uberfire.mvp.Command> getOnCloseCallbacks​(org.uberfire.mvp.PlaceRequest place)  
      List<org.uberfire.mvp.Command> getOnOpenCallbacks​(org.uberfire.mvp.PlaceRequest place)  
      PlaceStatus getStatus​(String id)  
      PlaceStatus getStatus​(org.uberfire.mvp.PlaceRequest place)  
      List<org.uberfire.mvp.PlaceRequest> getUncloseablePlaces()  
      void goTo​(String identifier)  
      void goTo​(String id, org.jboss.errai.common.client.dom.HTMLElement addTo)  
      void goTo​(String identifier, org.uberfire.workbench.model.PanelDefinition panel)  
      void goTo​(org.uberfire.backend.vfs.Path path)  
      void goTo​(org.uberfire.backend.vfs.Path path, org.uberfire.mvp.PlaceRequest place)  
      void goTo​(org.uberfire.backend.vfs.Path path, org.uberfire.mvp.PlaceRequest place, org.uberfire.workbench.model.PanelDefinition panel)  
      void goTo​(org.uberfire.backend.vfs.Path path, org.uberfire.workbench.model.PanelDefinition panel)  
      void goTo​(org.uberfire.mvp.PlaceRequest place)  
      void goTo​(org.uberfire.mvp.PlaceRequest place, com.google.gwt.user.client.ui.HasWidgets addTo)
      Locates the Activity associated with the given place, and if that activity is not already part of the workbench, starts it and adds its view to the given widget container.
      void goTo​(org.uberfire.mvp.PlaceRequest place, elemental2.dom.HTMLElement addTo)  
      void goTo​(org.uberfire.mvp.PlaceRequest place, org.jboss.errai.common.client.dom.HTMLElement addTo)  
      void goTo​(org.uberfire.mvp.PlaceRequest place, org.uberfire.workbench.model.PanelDefinition panel)  
      void goTo​(org.uberfire.workbench.model.PartDefinition part, org.uberfire.workbench.model.PanelDefinition panel)  
      void registerOnCloseCallback​(org.uberfire.mvp.PlaceRequest place, org.uberfire.mvp.Command callback)  
      void registerOnOpenCallback​(org.uberfire.mvp.PlaceRequest place, org.uberfire.mvp.Command callback)  
      void registerPerspectiveCloseChain​(String perspectiveIdentifier, org.uberfire.mvp.BiParameterizedCommand<org.uberfire.mvp.Command,​org.uberfire.mvp.PlaceRequest> closeChain)
      Registers a callback interceptor that uses a chain approach to execute code before a PlaceRequest is closed, if the perspective passed as a parameter is currently opened.
      void tryClosePlace​(org.uberfire.mvp.PlaceRequest placeToClose, org.uberfire.mvp.Command onAfterClose)  
      void unregisterOnCloseCallbacks​(org.uberfire.mvp.PlaceRequest place)  
      void unregisterOnOpenCallbacks​(org.uberfire.mvp.PlaceRequest place)  
    • Method Detail

      • goTo

        @JsMethod(name="goToId")
        void goTo​(String identifier)
      • goTo

        @JsMethod(name="goToPlace")
        void goTo​(org.uberfire.mvp.PlaceRequest place)
      • goTo

        @JsMethod(name="goToPath")
        void goTo​(org.uberfire.backend.vfs.Path path)
      • goTo

        @JsMethod(name="goToPathAndPlace")
        void goTo​(org.uberfire.backend.vfs.Path path,
                  org.uberfire.mvp.PlaceRequest place)
      • goTo

        @JsMethod(name="goToPartWithPanel")
        void goTo​(org.uberfire.workbench.model.PartDefinition part,
                  org.uberfire.workbench.model.PanelDefinition panel)
      • goTo

        @JsMethod(name="goToIdWithPanel")
        void goTo​(String identifier,
                  org.uberfire.workbench.model.PanelDefinition panel)
      • goTo

        @JsMethod(name="goToPlaceWithPanel")
        void goTo​(org.uberfire.mvp.PlaceRequest place,
                  org.uberfire.workbench.model.PanelDefinition panel)
      • goTo

        @JsMethod(name="goToPathWithPanel")
        void goTo​(org.uberfire.backend.vfs.Path path,
                  org.uberfire.workbench.model.PanelDefinition panel)
      • goTo

        @JsMethod(name="goToPathAndPlaceWithPanel")
        void goTo​(org.uberfire.backend.vfs.Path path,
                  org.uberfire.mvp.PlaceRequest place,
                  org.uberfire.workbench.model.PanelDefinition panel)
      • goTo

        @JsIgnore
        void goTo​(org.uberfire.mvp.PlaceRequest place,
                  com.google.gwt.user.client.ui.HasWidgets addTo)
        Locates the Activity associated with the given place, and if that activity is not already part of the workbench, starts it and adds its view to the given widget container. If the activity is already part of the current workbench, it will be selected, and it will not be moved from its current location.

        The activity will be properly shut down in any of the following scenarios:

        1. by a call to one of the PlaceManager methods for closing a place: closePlace(PlaceRequest), closePlace(String), or closeAllPlaces()
        2. by switching to another perspective, which has the side effect of closing all places
        3. by removing the activity's view from the DOM, either using the GWT Widget API, or by direct DOM manipulation.
        4. by opening another place on the same container.
        Parameters:
        place -
        addTo - The container to add the widget's view to. Its corresponding DOM element must have a CSS position setting of relative or absolute and an explicit size set. This can be accomplished through direct use of CSS, or through the Layouts.setToFillParent(com.google.gwt.user.client.ui.Widget) call.
      • goTo

        @JsIgnore
        void goTo​(String id,
                  org.jboss.errai.common.client.dom.HTMLElement addTo)
      • goTo

        @JsIgnore
        void goTo​(org.uberfire.mvp.PlaceRequest place,
                  org.jboss.errai.common.client.dom.HTMLElement addTo)
      • goTo

        @JsIgnore
        void goTo​(org.uberfire.mvp.PlaceRequest place,
                  elemental2.dom.HTMLElement addTo)
      • getActivity

        Activity getActivity​(org.uberfire.mvp.PlaceRequest place)
        Finds the currently open activity that handles the given PlaceRequest by ID. No attempt is made to match by path, but see ActivityManagerImpl#resolveExistingParts(PlaceRequest) for a variant that does. (TODO: should this method care about paths? if not, should the other method be added to the interface?)
        Parameters:
        place - the PlaceRequest whose activity to search for
        Returns:
        the activity that currently exists in service of the given PlaceRequest's ID. Null if no current activity handles the given PlaceRequest.
      • getStatus

        @JsMethod(name="getStatusByPlaceRequest")
        PlaceStatus getStatus​(org.uberfire.mvp.PlaceRequest place)
      • executeOnOpenCallbacks

        default void executeOnOpenCallbacks​(org.uberfire.mvp.PlaceRequest place)
      • executeOnCloseCallbacks

        default void executeOnCloseCallbacks​(org.uberfire.mvp.PlaceRequest place)
      • getOnOpenCallbacks

        List<org.uberfire.mvp.Command> getOnOpenCallbacks​(org.uberfire.mvp.PlaceRequest place)
      • getOnCloseCallbacks

        List<org.uberfire.mvp.Command> getOnCloseCallbacks​(org.uberfire.mvp.PlaceRequest place)
      • closePlace

        @JsMethod(name="closePlaceById")
        void closePlace​(String id)
      • closePlace

        void closePlace​(org.uberfire.mvp.PlaceRequest placeToClose)
      • closePlace

        @JsMethod(name="closePlaceWithCallback")
        void closePlace​(org.uberfire.mvp.PlaceRequest placeToClose,
                        org.uberfire.mvp.Command doAfterClose)
      • tryClosePlace

        void tryClosePlace​(org.uberfire.mvp.PlaceRequest placeToClose,
                           org.uberfire.mvp.Command onAfterClose)
      • forceClosePlace

        @JsMethod(name="forceCloseById")
        void forceClosePlace​(String id)
      • forceClosePlace

        @JsMethod(name="forceCloseByPlaceRequest")
        void forceClosePlace​(org.uberfire.mvp.PlaceRequest place)
      • closeAllPlaces

        void closeAllPlaces()
      • forceCloseAllPlaces

        void forceCloseAllPlaces()
      • closeAllPlacesOrNothing

        boolean closeAllPlacesOrNothing()
      • canClosePlace

        boolean canClosePlace​(org.uberfire.mvp.PlaceRequest place)
      • canCloseAllPlaces

        boolean canCloseAllPlaces()
      • getUncloseablePlaces

        List<org.uberfire.mvp.PlaceRequest> getUncloseablePlaces()
        Returns:
        All opened PlaceRequests that cannot be closed (@onMayClose method returns false).
      • registerOnOpenCallback

        void registerOnOpenCallback​(org.uberfire.mvp.PlaceRequest place,
                                    org.uberfire.mvp.Command callback)
      • unregisterOnOpenCallbacks

        void unregisterOnOpenCallbacks​(org.uberfire.mvp.PlaceRequest place)
      • registerOnCloseCallback

        void registerOnCloseCallback​(org.uberfire.mvp.PlaceRequest place,
                                     org.uberfire.mvp.Command callback)
      • unregisterOnCloseCallbacks

        void unregisterOnCloseCallbacks​(org.uberfire.mvp.PlaceRequest place)
      • registerPerspectiveCloseChain

        void registerPerspectiveCloseChain​(String perspectiveIdentifier,
                                           org.uberfire.mvp.BiParameterizedCommand<org.uberfire.mvp.Command,​org.uberfire.mvp.PlaceRequest> closeChain)
        Registers a callback interceptor that uses a chain approach to execute code before a PlaceRequest is closed, if the perspective passed as a parameter is currently opened. It will not be executed in the case of a forced close.
        Parameters:
        perspectiveIdentifier - Perspective identifier for which the close chain must be called when it is being closed.
        closeChain - Callback to be called when a PlaceRequest is being closed. The callback command must invoke the chain to proceed with the closing operation.
      • getActivitiesForResourceType

        @JsIgnore
        Collection<org.uberfire.mvp.impl.PathPlaceRequest> getActivitiesForResourceType​(org.uberfire.workbench.type.ResourceTypeDefinition type)
        Finds the currently open PlaceRequests for Activities that handle the given ResourceTypeDefinition.
        Parameters:
        type - the ResourceTypeDefinition whose activity to search for
        Returns:
        an unmodifiable collection of PlaceRequests for the currently open WorkbenchEditorActivities that can handle the ResourceTypeDefinition. Returns an empty collection if no match was found.