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 Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionaddResolver(HandlerMethodArgumentResolver resolver) Add the givenHandlerMethodArgumentResolver.addResolvers(@Nullable List<? extends HandlerMethodArgumentResolver> resolvers) Add the givenHandlerMethodArgumentResolvers.addResolvers(@Nullable 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, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable 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
- 
HandlerMethodArgumentResolverComposite
public HandlerMethodArgumentResolverComposite() 
 - 
 - 
Method Details
- 
addResolver
Add the givenHandlerMethodArgumentResolver. - 
addResolvers
public HandlerMethodArgumentResolverComposite addResolvers(@Nullable HandlerMethodArgumentResolver... resolvers) Add the givenHandlerMethodArgumentResolvers.- Since:
 - 4.3
 
 - 
addResolvers
public HandlerMethodArgumentResolverComposite addResolvers(@Nullable List<? extends HandlerMethodArgumentResolver> resolvers) Add the givenHandlerMethodArgumentResolvers. - 
getResolvers
Return a read-only list with the contained resolvers, or an empty list. - 
clear
public void clear()Clear the list of configured resolvers and the resolver cache.- Since:
 - 4.3
 
 - 
supportsParameter
Whether the given method parameter is supported by any registeredHandlerMethodArgumentResolver.- Specified by:
 supportsParameterin interfaceHandlerMethodArgumentResolver- Parameters:
 parameter- the method parameter to check- Returns:
 trueif this resolver supports the supplied parameter;falseotherwise
 - 
resolveArgument
public @Nullable 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 interfaceHandlerMethodArgumentResolver- Parameters:
 parameter- the method parameter to resolve. This parameter must have previously been passed toHandlerMethodArgumentResolver.supportsParameter(MethodParameter)which must have returnedtrue.mavContainer- the ModelAndViewContainer for the current requestwebRequest- the current requestbinderFactory- a factory for creatingWebDataBinderinstances- Returns:
 - the resolved argument value, or 
nullif not resolvable - Throws:
 IllegalArgumentException- if no suitable argument resolver is foundException- in case of errors with the preparation of argument values
 - 
getArgumentResolver
Find a registeredHandlerMethodArgumentResolverthat supports the given method parameter. 
 -