Class WebQueryDTOAwarePageableArgumentResolver
java.lang.Object
in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryPageableArgumentResolver
in.co.akshitbansal.springwebquery.resolver.spring.WebQueryDTOAwarePageableArgumentResolver
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver
public class WebQueryDTOAwarePageableArgumentResolver
extends AbstractWebQueryPageableArgumentResolver
-
Nested Class Summary
Nested classes/interfaces inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
AbstractWebQueryResolver.QueryConfiguration -
Field Summary
Fields inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryPageableArgumentResolver
delegate, sortableFieldValidatorFields inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
globalAllowAndOperator, globalAllowOrOperator, globalMaxASTDepth -
Constructor Summary
ConstructorsConstructorDescriptionWebQueryDTOAwarePageableArgumentResolver(org.springframework.data.web.PageableHandlerMethodArgumentResolver delegate, boolean globalAllowAndOperator, boolean globalAllowOrOperator, int globalMaxASTDepth) Creates a DTO-aware pageable resolver. -
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.data.domain.PageableresolvePageable(org.springframework.data.domain.Pageable pageable, AbstractWebQueryResolver.QueryConfiguration queryConfig) Validates DTO-facing sort properties and maps them to entity paths.booleansupportsParameter(@NonNull org.springframework.core.MethodParameter parameter) Determines whether this resolver should handle the given parameter.Methods inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryPageableArgumentResolver
resolveArgumentMethods inherited from class in.co.akshitbansal.springwebquery.resolver.spring.AbstractWebQueryResolver
getQueryConfiguration, getWebQueryAnnotation
-
Constructor Details
-
WebQueryDTOAwarePageableArgumentResolver
public WebQueryDTOAwarePageableArgumentResolver(org.springframework.data.web.PageableHandlerMethodArgumentResolver delegate, boolean globalAllowAndOperator, boolean globalAllowOrOperator, int globalMaxASTDepth) Creates a DTO-aware pageable resolver.- Parameters:
delegate- Spring's pageable resolver used for page and size 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) Determines whether this resolver should handle the given parameter.- Specified by:
supportsParameterin interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver- Overrides:
supportsParameterin classAbstractWebQueryPageableArgumentResolver- Parameters:
parameter- method parameter under inspection- Returns:
truewhen parameter isPageablewith method-levelWebQueryand a configured DTO class
-
resolvePageable
protected org.springframework.data.domain.Pageable resolvePageable(org.springframework.data.domain.Pageable pageable, AbstractWebQueryResolver.QueryConfiguration queryConfig) Validates DTO-facing sort properties and maps them to entity paths.- Specified by:
resolvePageablein classAbstractWebQueryPageableArgumentResolver- Parameters:
pageable- pageable parsed from the requestqueryConfig- effective query configuration for the current request- Returns:
- pageable with validated entity sort paths derived from DTO selectors
-