Top Description Fields Constructors Methods
org.springframework.web.reactive.result.method

pack-priv Class HandlerMethodArgumentResolverComposite

extends Object
implements HandlerMethodArgumentResolver
Class Inheritance
All Implemented Interfaces
org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver
Imports
java.util.ArrayList, .Collections, .List, .Map, java.util.concurrent.ConcurrentHashMap, reactor.core.publisher.Mono, org.springframework.core.MethodParameter, org.springframework.lang.Nullable, org.springframework.web.reactive.BindingContext, org.springframework.web.server.ServerWebExchange

Resolves method parameters by delegating to a list of registered HandlerMethodArgumentResolvers. Previously resolved method parameters are cached for faster lookups.
Author
Rossen Stoyanchev
Since
5.1.3

Field Summary

Modifier and TypeField and Description
private final Map<MethodParameter, HandlerMethodArgumentResolver>
private final List<HandlerMethodArgumentResolver>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public HandlerMethodArgumentResolverComposite
public HandlerMethodArgumentResolverComposite
public HandlerMethodArgumentResolverComposite
public void
clear()

Clear the list of configured resolvers and the resolver cache.

private HandlerMethodArgumentResolver
getArgumentResolver(MethodParameter parameter)

Find a registered HandlerMethodArgumentResolver that supports the given method parameter.

public List<HandlerMethodArgumentResolver>
getResolvers()

Return a read-only list with the contained resolvers, or an empty list.

public Mono<Object>
resolveArgument(MethodParameter
the method parameter
parameter
,
BindingContext
the binding context to use
bindingContext
,
ServerWebExchange
the current exchange
exchange
)

Implements org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.resolveArgument.

Iterate over registered HandlerMethodArgumentResolvers and invoke the one that supports it.

public boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

argumentResolverCacheback to summary
private final Map<MethodParameter, HandlerMethodArgumentResolver> argumentResolverCache
argumentResolversback to summary
private final List<HandlerMethodArgumentResolver> argumentResolvers

Constructor Detail

HandlerMethodArgumentResolverCompositeback to summary
pack-priv HandlerMethodArgumentResolverComposite()

Method Detail

addResolverback to summary
public HandlerMethodArgumentResolverComposite addResolver(HandlerMethodArgumentResolver resolver)

Add the given HandlerMethodArgumentResolver.

addResolversback to summary
public HandlerMethodArgumentResolverComposite addResolvers(HandlerMethodArgumentResolver... resolvers)

Add the given HandlerMethodArgumentResolvers.

addResolversback to summary
public HandlerMethodArgumentResolverComposite addResolvers(List<? extends HandlerMethodArgumentResolver> resolvers)

Add the given HandlerMethodArgumentResolvers.

clearback to summary
public void clear()

Clear the list of configured resolvers and the resolver cache.

getArgumentResolverback to summary
private HandlerMethodArgumentResolver getArgumentResolver(MethodParameter parameter)

Find a registered HandlerMethodArgumentResolver that supports the given method parameter.

Annotations
@Nullable
getResolversback to summary
public List<HandlerMethodArgumentResolver> getResolvers()

Return a read-only list with the contained resolvers, or an empty list.

resolveArgumentback to summary
public Mono<Object> resolveArgument(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange)

Implements org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.resolveArgument.

Iterate over registered HandlerMethodArgumentResolvers and invoke the one that supports it.

Parameters
parameter:MethodParameter

Doc from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.resolveArgument.

the method parameter

bindingContext:BindingContext

Doc from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.resolveArgument.

the binding context to use

exchange:ServerWebExchange

Doc from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.resolveArgument.

the current exchange

Returns:Mono<Object>

Doc from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.resolveArgument.

Mono for the argument value, possibly empty

Annotations
@Override
Exceptions
IllegalStateException:
if no suitable HandlerMethodArgumentResolver is found.
supportsParameterback to summary
public boolean supportsParameter(MethodParameter parameter)

Implements org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.supportsParameter.

Whether the given method parameter is supported by any registered HandlerMethodArgumentResolver.

Parameters
parameter:MethodParameter

Doc from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.supportsParameter.

the method parameter

Annotations
@Override