Class Router

  • All Implemented Interfaces:
    Serializable

    public class Router
    extends Object
    implements Serializable
    The router takes care of serving content when the user navigates within a site or an application.
    Since:
    1.0.
    Author:
    Vaadin Ltd
    See Also:
    Route, Serialized Form
    • Constructor Detail

      • Router

        public Router​(RouteRegistry registry)
        Constructs a new router with the given route registry and a DefaultRouteResolver.
        Parameters:
        registry - the route registry to use, not null
    • Method Detail

      • initializeUI

        @Deprecated
        public void initializeUI​(UI ui,
                                 VaadinRequest initRequest)
        Deprecated.
        Enables navigation for a new UI instance. This initializes the UI content based on the location used for loading the UI and sets up the UI to be updated when the user navigates to some other location.
        Parameters:
        ui - the UI that navigation should be set up for
        initRequest - the Vaadin request that bootstraps the provided UI
      • initializeUI

        public void initializeUI​(UI ui,
                                 Location location)
        Enables navigation for a new UI instance. This initializes the UI content based on the location used for loading the UI and sets up the UI to be updated when the user navigates to some other location.
        Parameters:
        ui - the UI that navigation should be set up for
        location - the location object of the route
      • resolveNavigationTarget

        public Optional<NavigationState> resolveNavigationTarget​(String pathInfo,
                                                                 Map<String,​String[]> parameterMap)
        Resolve the navigation target for given path and parameter map using the router routeResolver.
        Parameters:
        pathInfo - the path relative to the application
        parameterMap - A mapping of parameter names to arrays of parameter values
        Returns:
        NavigationTarget for the given path and parameter map if found
      • resolveNavigationTarget

        public Optional<NavigationState> resolveNavigationTarget​(Location location)
        Resolve the navigation target for given Location using the router routeResolver.
        Parameters:
        location - the location object of the route
        Returns:
        NavigationTarget for the given location if found
      • resolveRouteNotFoundNavigationTarget

        public Optional<NavigationState> resolveRouteNotFoundNavigationTarget()
        Resolve a navigation target with an empty NotFoundException.
        Returns:
        an instance of NavigationState for NotFoundException or empty if there is none in the application.
      • navigate

        public int navigate​(UI ui,
                            Location location,
                            NavigationTrigger trigger)
        Navigates the given UI to the given location.

        This method just shows the given location on the page and doesn't update the browser location (and page history). Use the UI.navigate(String, QueryParameters) method if you want to update the browser location as well.

        Parameters:
        ui - the UI to update, not null
        location - the location to navigate to, not null
        trigger - the type of user action that triggered this navigation, not null
        Returns:
        the HTTP status code resulting from the navigation
        See Also:
        UI.navigate(String), UI.navigate(String, QueryParameters)
      • navigate

        public int navigate​(UI ui,
                            Location location,
                            NavigationTrigger trigger,
                            elemental.json.JsonValue state)
        Navigates the given UI to the given location. For internal use only.

        This method pushes to the browser history if the trigger is NavigationTrigger.ROUTER_LINK or NavigationTrigger.UI_NAVIGATE.

        Parameters:
        ui - the UI to update, not null
        location - the location to navigate to, not null
        trigger - the type of user action that triggered this navigation, not null
        state - includes navigation state info including for example the scroll position and the complete href of the RouterLink
        Returns:
        the HTTP status code resulting from the navigation
        See Also:
        UI.navigate(String), UI.navigate(String, QueryParameters)
      • getErrorNavigationTarget

        public Optional<ErrorTargetEntry> getErrorNavigationTarget​(Exception exception)
        Get a registered navigation target for given exception.
        Parameters:
        exception - exception to search error view for
        Returns:
        optional error target entry corresponding to the given exception