Class HandlerMethodArgumentResolverComposite
java.lang.Object
org.springframework.web.method.support.HandlerMethodArgumentResolverComposite
- All Implemented Interfaces:
- HandlerMethodArgumentResolver
public class HandlerMethodArgumentResolverComposite
extends Object
implements HandlerMethodArgumentResolver
Resolves method parameters by delegating to a list of registered
 
HandlerMethodArgumentResolvers.
 Previously resolved method parameters are cached for faster lookups.- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Juergen Hoeller
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionaddResolver(HandlerMethodArgumentResolver resolver) Add the givenHandlerMethodArgumentResolver.addResolvers(List<? extends HandlerMethodArgumentResolver> resolvers) Add the givenHandlerMethodArgumentResolvers.addResolvers(HandlerMethodArgumentResolver... resolvers) Add the givenHandlerMethodArgumentResolvers.voidclear()Clear the list of configured resolvers and the resolver cache.getArgumentResolver(MethodParameter parameter) Find a registeredHandlerMethodArgumentResolverthat supports the given method parameter.Return a read-only list with the contained resolvers, or an empty list.resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) Iterate over registeredHandlerMethodArgumentResolversand invoke the one that supports it.booleansupportsParameter(MethodParameter parameter) Whether the given method parameter is supported by any registeredHandlerMethodArgumentResolver.
- 
Constructor Details- 
HandlerMethodArgumentResolverCompositepublic HandlerMethodArgumentResolverComposite()
 
- 
- 
Method Details- 
addResolverAdd the givenHandlerMethodArgumentResolver.
- 
addResolverspublic HandlerMethodArgumentResolverComposite addResolvers(@Nullable HandlerMethodArgumentResolver... resolvers) Add the givenHandlerMethodArgumentResolvers.- Since:
- 4.3
 
- 
addResolverspublic HandlerMethodArgumentResolverComposite addResolvers(@Nullable List<? extends HandlerMethodArgumentResolver> resolvers) Add the givenHandlerMethodArgumentResolvers.
- 
getResolversReturn a read-only list with the contained resolvers, or an empty list.
- 
clearpublic void clear()Clear the list of configured resolvers and the resolver cache.- Since:
- 4.3
 
- 
supportsParameterWhether the given method parameter is supported by any registeredHandlerMethodArgumentResolver.- Specified by:
- supportsParameterin interface- HandlerMethodArgumentResolver
- Parameters:
- parameter- the method parameter to check
- Returns:
- trueif this resolver supports the supplied parameter;- falseotherwise
 
- 
resolveArgument@Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws Exception Iterate over registeredHandlerMethodArgumentResolversand invoke the one that supports it.- Specified by:
- resolveArgumentin interface- HandlerMethodArgumentResolver
- Parameters:
- parameter- the method parameter to resolve. This parameter must have previously been passed to- HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)which must have returned- true.
- mavContainer- the ModelAndViewContainer for the current request
- webRequest- the current request
- binderFactory- a factory for creating- WebDataBinderinstances
- Returns:
- the resolved argument value, or nullif not resolvable
- Throws:
- IllegalArgumentException- if no suitable argument resolver is found
- Exception- in case of errors with the preparation of argument values
 
- 
getArgumentResolverFind a registeredHandlerMethodArgumentResolverthat supports the given method parameter.
 
-