Class Router

java.lang.Object
com.vaadin.flow.router.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:
  • Constructor Details

    • 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 Details

    • 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.
    • handleExceptionNavigation

      public int handleExceptionNavigation(UI ui, Location location, Exception exception, NavigationTrigger trigger, com.fasterxml.jackson.databind.node.BaseJsonNode state)
      Render error view for exception. Finds view to render based on the exception type. Exception view is chosen for matching exception and if no match is found choose by extended type.

      For internal use only. May be renamed or removed in a future release.

      Parameters:
      ui - current UI instance
      location - target location for failing navigation
      exception - exception thrown
      trigger - navigation trigger
      state - navigation state info
      Returns:
      the HTTP status code to return to the client if handling an initial rendering request
    • executeNavigation

      public int executeNavigation(UI ui, Location location, NavigationEvent navigationEvent, NavigationHandler handler, IntConsumer onSuccess)
      Execute navigation with a pre-resolved handler and optional success callback.

      This method handles the common navigation pattern of setting navigation state, executing the handler, running a success callback, and properly handling exceptions via handleExceptionNavigation(com.vaadin.flow.component.UI, com.vaadin.flow.router.Location, java.lang.Exception, com.vaadin.flow.router.NavigationTrigger, com.fasterxml.jackson.databind.node.BaseJsonNode).

      For internal use only. May be renamed or removed in a future release.

      Parameters:
      ui - the UI to update, not null
      location - the navigation location, not null
      navigationEvent - the navigation event to pass to the handler
      handler - the navigation handler to execute
      onSuccess - optional callback to run after successful navigation (before clearing navigation state), may be null
      Returns:
      the HTTP status code resulting from the navigation
    • getRegistry

      public RouteRegistry getRegistry()
    • 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