Class AbstractWebQueryPageableArgumentResolver
java.lang.Object
in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryPageableArgumentResolver
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver
- Direct Known Subclasses:
WebQueryDTOAwarePageableArgumentResolver,WebQueryEntityAwarePageableArgumentResolver
Base resolver for
Pageable parameters participating in
WebQuery-aware sorting.
This class delegates standard page/size parsing to Spring's
PageableHandlerMethodArgumentResolver and lets subclasses validate
and remap sort properties against either entity or DTO metadata.
-
Nested Class Summary
Nested classes/interfaces inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
AbstractWebQueryResolver.QueryConfiguration -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.springframework.data.web.PageableHandlerMethodArgumentResolverDelegate used to parse raw pageable parameters from the request.protected final Validator<SortableFieldValidator.Field>Validator used to enforce@Sortableconstraints on resolved sort fields.Fields inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
globalAllowAndOperator, globalAllowOrOperator, globalMaxASTDepth -
Constructor Summary
ConstructorsConstructorDescriptionAbstractWebQueryPageableArgumentResolver(org.springframework.data.web.PageableHandlerMethodArgumentResolver delegate, boolean globalAllowAndOperator, boolean globalAllowOrOperator, int globalMaxASTDepth) Creates a pageable resolver base with shared global defaults. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.data.domain.PageableresolveArgument(@NonNull org.springframework.core.MethodParameter parameter, org.springframework.web.method.support.ModelAndViewContainer mavContainer, @NonNull org.springframework.web.context.request.NativeWebRequest webRequest, org.springframework.web.bind.support.WebDataBinderFactory binderFactory) protected abstract org.springframework.data.domain.PageableresolvePageable(org.springframework.data.domain.Pageable pageable, AbstractWebQueryResolver.QueryConfiguration queryConfig) Validates and remaps pageable sorting according to the effective query configuration.booleansupportsParameter(@NonNull org.springframework.core.MethodParameter parameter) Methods inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
getQueryConfiguration
-
Field Details
-
delegate
protected final org.springframework.data.web.PageableHandlerMethodArgumentResolver delegateDelegate used to parse raw pageable parameters from the request. -
sortableFieldValidator
Validator used to enforce@Sortableconstraints on resolved sort fields.
-
-
Constructor Details
-
AbstractWebQueryPageableArgumentResolver
public AbstractWebQueryPageableArgumentResolver(org.springframework.data.web.PageableHandlerMethodArgumentResolver delegate, boolean globalAllowAndOperator, boolean globalAllowOrOperator, int globalMaxASTDepth) Creates a pageable resolver base with shared global defaults.- Parameters:
delegate- Spring's pageable resolver used for base pagination parsingglobalAllowAndOperator- global fallback for logical AND allowanceglobalAllowOrOperator- global fallback for logical OR allowanceglobalMaxASTDepth- global fallback for maximum AST depth
-
-
Method Details
-
supportsParameter
public boolean supportsParameter(@NonNull @NonNull org.springframework.core.MethodParameter parameter) - Specified by:
supportsParameterin interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver- Overrides:
supportsParameterin classAbstractWebQueryResolver
-
resolveArgument
public org.springframework.data.domain.Pageable resolveArgument(@NonNull @NonNull org.springframework.core.MethodParameter parameter, org.springframework.web.method.support.ModelAndViewContainer mavContainer, @NonNull @NonNull org.springframework.web.context.request.NativeWebRequest webRequest, org.springframework.web.bind.support.WebDataBinderFactory binderFactory) -
resolvePageable
protected abstract org.springframework.data.domain.Pageable resolvePageable(org.springframework.data.domain.Pageable pageable, AbstractWebQueryResolver.QueryConfiguration queryConfig) Validates and remaps pageable sorting according to the effective query configuration.- Parameters:
pageable- pageable parsed from the requestqueryConfig- effective query configuration derived fromWebQuery- Returns:
- pageable with validated and possibly remapped sort orders
-