Class EntityAwareRestrictedPageableArgumentResolver

java.lang.Object
in.co.akshitbansal.springwebquery.resolver.EntityAwareRestrictedPageableArgumentResolver
All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver

public class EntityAwareRestrictedPageableArgumentResolver extends Object implements org.springframework.web.method.support.HandlerMethodArgumentResolver
Entity-based resolver for Pageable parameters annotated with RestrictedPageable.

This resolver validates requested sort properties directly against the configured entity class and optional FieldMapping aliases declared on WebQuery.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable Object
    resolveArgument(org.springframework.core.MethodParameter parameter, @Nullable org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, @Nullable org.springframework.web.bind.support.WebDataBinderFactory binderFactory)
    Resolves and validates a Pageable argument with restricted sorting.
    boolean
    supportsParameter(org.springframework.core.MethodParameter parameter)
    Determines whether this resolver should handle the given parameter.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EntityAwareRestrictedPageableArgumentResolver

      public EntityAwareRestrictedPageableArgumentResolver()
  • Method Details

    • supportsParameter

      public boolean supportsParameter(org.springframework.core.MethodParameter parameter)
      Determines whether this resolver should handle the given parameter.
      Specified by:
      supportsParameter in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
      Parameters:
      parameter - method parameter under inspection
      Returns:
      true when parameter is Pageable with RestrictedPageable and no DTO mapping is configured
    • resolveArgument

      public @Nullable Object resolveArgument(org.springframework.core.MethodParameter parameter, @Nullable org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, @Nullable org.springframework.web.bind.support.WebDataBinderFactory binderFactory) throws Exception
      Resolves and validates a Pageable argument with restricted sorting.
      Specified by:
      resolveArgument in interface org.springframework.web.method.support.HandlerMethodArgumentResolver
      Parameters:
      parameter - controller method parameter being resolved
      mavContainer - current MVC container
      webRequest - current request
      binderFactory - binder factory
      Returns:
      validated pageable with alias-mapped sort properties
      Throws:
      Exception - when resolution fails