java.lang.Object
de.codecamp.vaadin.security.spring.access.route.RouteAccessContext
All Implemented Interfaces:
AccessContext

public class RouteAccessContext extends Object implements AccessContext
An AccessContext encapsulating an access attempt to a route.
  • Constructor Details

    • RouteAccessContext

      public RouteAccessContext(Class<?> targetOrLayout)
      Creates a new RouteAccessContext.
      Parameters:
      targetOrLayout - the target or parent layout class currently being checked for access
  • Method Details

    • getTargetType

      public AccessContext.TargetType getTargetType()
      Description copied from interface: AccessContext
      The type of the target for which to check access; either a route or and endpoint.
      Specified by:
      getTargetType in interface AccessContext
      Returns:
      type of the target for which to check access
    • getAccessedTargetOrLayout

      public Class<?> getAccessedTargetOrLayout()
      Returns the navigation target itself or one of its parent layouts currently being checked for access.
      Returns:
      the target or parent layout class currently being checked for access
    • findAnnotation

      public <A extends Annotation> Optional<A> findAnnotation(Class<A> annotationType)
      Description copied from interface: AccessContext
      A convenience method that allows to find the first matching annotation of a certain type, looking in locations and in an order that makes the most sense for the target type of this access context. This method does support meta-annotations.
      Specified by:
      findAnnotation in interface AccessContext
      Type Parameters:
      A - the annotation type
      Parameters:
      annotationType - the annotation type
      Returns:
      the first matching annotation
    • findAnnotation

      public <A extends Annotation> Optional<A> findAnnotation(Class<?> targetOrLayout, Class<A> annotationType)
      Tries to find the first matching annotation of the given type on the navigation target or layout class. This method also examines superclasses and interfaces and supports meta-annotations.
      Type Parameters:
      A - the annotation type
      Parameters:
      targetOrLayout - the navigation target or layout class
      annotationType - the annotation type being looked for
      Returns:
      the first matching annotation