Interface UiNavigationManager

All Superinterfaces:
io.github.mmm.event.EventSource<UiNavigationEvent,UiNavigationEventListener>

public interface UiNavigationManager extends io.github.mmm.event.EventSource<UiNavigationEvent,UiNavigationEventListener>
Interface to manage UiControllers.
Since:
1.0.0
  • Method Details

    • getController

      <W extends io.github.mmm.ui.api.widget.UiRegularWidget> UiController<W> getController(String id)
      Type Parameters:
      W - type of the view.
      Parameters:
      id - the ID of the requested UiController.
      Returns:
      the requested UiController or null if no such UiController exists.
    • getRequiredController

      default <W extends io.github.mmm.ui.api.widget.UiRegularWidget> UiController<W> getRequiredController(String id)
      Type Parameters:
      W - type of the view.
      Parameters:
      id - the ID of the requested UiController.
      Returns:
      the requested UiController.
      Throws:
      io.github.mmm.base.exception.ObjectNotFoundException - if no UiController exists with the given id.
    • getCurrentPlace

      UiPlace getCurrentPlace()
      Returns:
      the current UiPlace. Will be null until initialized by first navigation.
    • updatePlace

      void updatePlace(UiPlace place)
      Replaces the current place with the given UiPlace without creating a new entry in the navigation history.
      Parameters:
      place - the updated UiPlace. Currently the ID of the current place may not change. This is only to update parameters. E.g. if you want to represent the selection of a master-detail dialog in the location (URL) you can use a parameter. This method allows to update the UiPlace and therefore the location without adding it to the history so navigateBack() navigating back} is not replaying the entire history of the end-users selection what is typically undesired.
    • get

      static UiNavigationManager get()
      Returns:
      the instance of this UiNavigationManager.