Interface NavigationAccessDecision
- All Known Implementing Classes:
NavigationAccessDecision.AccessDenied, NavigationAccessDecision.Allowed, NavigationAccessDecision.AlreadyLoggedIn, NavigationAccessDecision.LoginRequired
public sealed interface NavigationAccessDecision
permits NavigationAccessDecision.Allowed, NavigationAccessDecision.LoginRequired, NavigationAccessDecision.AlreadyLoggedIn, NavigationAccessDecision.AccessDenied
Result of a navigation security decision.
This is a pure value type with no Vaadin dependencies, making it suitable for unit testing without an adapter runtime. Adapter listeners translate this decision into framework-specific navigation calls.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordThe subject exists but lacks the required roles or permissions.static final recordNavigation is allowed.static final recordThe user is already logged in but is navigating to the login page.static final recordThe route is restricted and no subject is in the session. -
Method Summary
Static MethodsModifier and TypeMethodDescriptionstatic NavigationAccessDecisionaccessDenied(String alternativeRoute, boolean asForward) Creates anNavigationAccessDecision.AccessDenieddecision with a redirect target.static NavigationAccessDecisionallowed()Creates anNavigationAccessDecision.Alloweddecision.static NavigationAccessDecisionCreates anNavigationAccessDecision.AlreadyLoggedIndecision.static NavigationAccessDecisionCreates aNavigationAccessDecision.LoginRequireddecision.
-
Method Details
-
allowed
Creates anNavigationAccessDecision.Alloweddecision.- Returns:
- navigation allowed
-
loginRequired
Creates aNavigationAccessDecision.LoginRequireddecision.- Returns:
- login required
-
alreadyLoggedIn
Creates anNavigationAccessDecision.AlreadyLoggedIndecision.- Returns:
- already logged in
-
accessDenied
Creates anNavigationAccessDecision.AccessDenieddecision with a redirect target.- Parameters:
alternativeRoute- the route to redirect toasForward-truefor forward,falsefor reroute- Returns:
- access denied with redirect
-