Class ConfigureRoutes

java.lang.Object
com.vaadin.flow.router.internal.ConfiguredRoutes
com.vaadin.flow.router.internal.ConfigureRoutes
All Implemented Interfaces:
Serializable

public class ConfigureRoutes extends ConfiguredRoutes implements Serializable
Configuration class for editing routes. After editing the class should always be set as a ConfiguredRoutes read only value object.

ConfigureRoutes is always mutable where as ConfiguredRoutes is always immutable.

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

Since:
1.3
See Also:
  • Constructor Details

    • ConfigureRoutes

      public ConfigureRoutes()
      Create an immutable RouteConfiguration.
    • ConfigureRoutes

      public ConfigureRoutes(ConfiguredRoutes original)
      Create a mutable or immutable configuration with original configuration information.
      Parameters:
      original - original configuration to get data from
  • Method Details

    • getRoutesMap

      protected Map<String,RouteTarget> getRoutesMap()
      Override so that the getters use the correct routes map for data.
      Overrides:
      getRoutesMap in class ConfiguredRoutes
      Returns:
      editable map of routes
    • getTargetRoutes

      public Map<Class<? extends Component>,String> getTargetRoutes()
      Override so that the getters use the correct target routes map for data.
      Overrides:
      getTargetRoutes in class ConfiguredRoutes
      Returns:
      editable map of targetRoutes
    • getExceptionHandlers

      public Map<Class<? extends Exception>,Class<? extends Component>> getExceptionHandlers()
      Override so that the getters use the correct exception targets map for data.
      Overrides:
      getExceptionHandlers in class ConfiguredRoutes
      Returns:
      editable map of exception targets
    • clear

      public void clear()
      Clear all maps from this configuration.
    • setRoute

      public void setRoute(String template, Class<? extends Component> navigationTarget)
      Set a new RouteTarget for the given template.

      Note! this will override any previous value.

      Parameters:
      template - template for which to set route target for
      navigationTarget - navigation target to add
    • setRoute

      public void setRoute(String template, Class<? extends Component> navigationTarget, List<Class<? extends RouterLayout>> parentChain)
      Set a new RouteTarget for the given template.

      Note! this will override any previous value.

      Parameters:
      template - template for which to set route target for
      navigationTarget - navigation target to add
      parentChain - chain of parent layouts that should be used with this target
    • setTargetRoute

      public void setTargetRoute(Class<? extends Component> navigationTarget, String path)
      Put a new target route for Class-to-path mapping.

      This is a reverse mapping to RouteTarget, which also handles any HasUrl parameters, for the main route of this navigation target.

      Parameters:
      navigationTarget - navigation target to map
      path - path for given navigation target
    • setErrorRoute

      public void setErrorRoute(Class<? extends Exception> exception, Class<? extends Component> errorTarget)
      Set a error route to the configuration.

      Any exception handler set for a existing error will override the old exception handler.

      Parameters:
      exception - exception handled by error route
      errorTarget - error navigation target
    • removeRoute

      public void removeRoute(Class<? extends Component> target)
      Remove the target completely from the configuration.
      Parameters:
      target - target registered route to remove
    • removeRoute

      public void removeRoute(String template)
      Remove route for given template. This will remove all targets registered for given template.

      In case there exists another template mapping for any of the removed route targets the main class-to-string mapping will be updated to the first found.

      Parameters:
      template - template from which to remove routes from
    • removeRoute

      public void removeRoute(String template, Class<? extends Component> targetRoute)
      Remove navigation target for given template.
      Parameters:
      template - template to remove target from.
      targetRoute - target route to remove from template.