Annotation Type RouteAlias


  • @Retention(RUNTIME)
    @Target(TYPE)
    @Inherited
    @Documented
    @Repeatable(Container.class)
    public @interface RouteAlias
    Defines the route alias for components that function as navigation targets in routing.

    The route alias allows declaring several route paths in addition to the path declared by the Route annotation. The component has to have at least one @Route annotation which is considered as a primary route and its route path will be used if RouteConfiguration.getUrl(Class) is called. Thus @RouteAlias route path is used only to resolve the component during navigation.

    The route template of the navigation target is composed of the values of all RoutePrefix annotated on the layout() and ParentLayout class values, starting from the root parent and joined together using slash delimiter to form a path form string.

    This annotation can be used multiple times on the same class.

    Since:
    1.0
    See Also:
    Route, RoutePrefix, RouterLayout, UI
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String value
      Gets the route alias path value of the annotated class.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean absolute
      Have the route chain break on defined class and not take into notice any more parent layout route prefixes.
      Class<? extends RouterLayout> layout
      Sets the parent component for the route target component.
    • Element Detail

      • value

        String value
        Gets the route alias path value of the annotated class.

        This value accepts also parameter template segments which can be defined using following format: :parameterName[?|*][(regex)].

        Returns:
        the path value of this route
      • layout

        Class<? extends RouterLayout> layout
        Sets the parent component for the route target component.

        When navigating between components that use the same layout, the same component instance is reused. Default layout target is the UI, but the layout should not be a custom UI as UI is a special class used to know where the route stack ends and no parent layouts should be involved.

        All layout stacks will be appended to the UI as it represents the Body element.

        Returns:
        the layout component class used by the route target component.
        See Also:
        RouterLayout
        Default:
        com.vaadin.flow.component.UI.class
      • absolute

        boolean absolute
        Have the route chain break on defined class and not take into notice any more parent layout route prefixes.
        Returns:
        route up to here should be absolute
        Default:
        false