class HandlerMethodArgumentResolverComposite extends java.lang.Object implements HandlerMethodArgumentResolver
HandlerMethodArgumentResolvers
.
Previously resolved method parameters are cached for faster lookups.Modifier and Type | Field and Description |
---|---|
private java.util.Map<MethodParameter,HandlerMethodArgumentResolver> |
argumentResolverCache |
private java.util.List<HandlerMethodArgumentResolver> |
argumentResolvers |
protected Log |
logger |
Constructor and Description |
---|
HandlerMethodArgumentResolverComposite() |
protected final Log logger
private final java.util.List<HandlerMethodArgumentResolver> argumentResolvers
private final java.util.Map<MethodParameter,HandlerMethodArgumentResolver> argumentResolverCache
public HandlerMethodArgumentResolverComposite addResolver(HandlerMethodArgumentResolver resolver)
HandlerMethodArgumentResolver
.public HandlerMethodArgumentResolverComposite addResolvers(@Nullable HandlerMethodArgumentResolver... resolvers)
HandlerMethodArgumentResolvers
.public HandlerMethodArgumentResolverComposite addResolvers(@Nullable java.util.List<? extends HandlerMethodArgumentResolver> resolvers)
HandlerMethodArgumentResolvers
.public java.util.List<HandlerMethodArgumentResolver> getResolvers()
public void clear()
public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
.supportsParameter
in interface HandlerMethodArgumentResolver
parameter
- the method parameterpublic <any> resolveArgument(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange)
HandlerMethodArgumentResolvers
and
invoke the one that supports it.resolveArgument
in interface HandlerMethodArgumentResolver
parameter
- the method parameterbindingContext
- the binding context to useexchange
- the current exchangeMono
for the argument value, possibly emptyjava.lang.IllegalStateException
- if no suitable
HandlerMethodArgumentResolver
is found.@Nullable private HandlerMethodArgumentResolver getArgumentResolver(MethodParameter parameter)
HandlerMethodArgumentResolver
that supports
the given method parameter.