Class WebQueryPageableArgumentResolver
java.lang.Object
in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
in.co.akshitbansal.springwebquery.resolver.spring.WebQueryPageableArgumentResolver
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver
Unified resolver for
Pageable parameters participating in
WebQuery-aware sorting.
This resolver delegates standard page/size parsing to Spring's
PageableHandlerMethodArgumentResolver and then validates and remaps
sort properties against either entity or DTO metadata.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected PageableArgumentResolverConfiggetQueryConfiguration(org.springframework.core.MethodParameter parameter) Extracts pageable-specific query metadata directly from theWebQueryannotation declared on the supplied controller method.org.springframework.data.domain.PageableresolveArgument(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 the request into a validatedPageableusing Spring's standard parsing first and mode-aware sort validation/remapping afterward.booleansupportsParameter(org.springframework.core.MethodParameter parameter) Determines whether the supplied parameter should be resolved as aPageableparticipating inWebQuery-aware sorting.Methods inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
getWebQueryAnnotation
-
Constructor Details
-
WebQueryPageableArgumentResolver
public WebQueryPageableArgumentResolver()
-
-
Method Details
-
supportsParameter
public boolean supportsParameter(org.springframework.core.MethodParameter parameter) Determines whether the supplied parameter should be resolved as aPageableparticipating inWebQuery-aware sorting.- Specified by:
supportsParameterin interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver- Overrides:
supportsParameterin classAbstractWebQueryResolver- Parameters:
parameter- method parameter under inspection- Returns:
truewhen the parameter type is assignable toPageableand the declaring method is annotated withWebQuery
-
resolveArgument
public org.springframework.data.domain.Pageable 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 the request into a validatedPageableusing Spring's standard parsing first and mode-aware sort validation/remapping afterward.- Parameters:
parameter- method parameter being resolvedmavContainer- current model/view container, if anywebRequest- current native web requestbinderFactory- web data binder factory, if available- Returns:
- validated pageable instance for the current request
- Throws:
QueryException- when query-specific validation failsQueryConfigurationException- when pageable resolution fails unexpectedly
-
getQueryConfiguration
protected PageableArgumentResolverConfig getQueryConfiguration(org.springframework.core.MethodParameter parameter) Extracts pageable-specific query metadata directly from theWebQueryannotation declared on the supplied controller method.Unlike specification resolution, pageable handling does not consume operator policies or AST settings, so this configuration contains only the entity type, optional DTO type, and the declared field mappings used for eager validation and entity-aware sort remapping.
- Parameters:
parameter- supported method parameter whose declaring method carriesWebQuery- Returns:
- effective configuration used by pageable resolvers for sort validation
-