Annotation 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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static @interface 
    Internal annotation to enable use of multiple RouteAlias annotations.
  • Required Element Summary

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

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

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