Class AbstractNamedValueSyncArgumentResolver
java.lang.Object
org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
org.springframework.web.reactive.result.method.annotation.AbstractNamedValueSyncArgumentResolver
- All Implemented Interfaces:
- HandlerMethodArgumentResolver,- SyncHandlerMethodArgumentResolver
- Direct Known Subclasses:
- CookieValueMethodArgumentResolver,- ExpressionValueMethodArgumentResolver,- MatrixVariableMethodArgumentResolver,- PathVariableMethodArgumentResolver,- RequestAttributeMethodArgumentResolver,- RequestHeaderMethodArgumentResolver,- RequestParamMethodArgumentResolver
public abstract class AbstractNamedValueSyncArgumentResolver
extends AbstractNamedValueArgumentResolver
implements SyncHandlerMethodArgumentResolver
An extension of 
AbstractNamedValueArgumentResolver for named value
 resolvers that are synchronous and yet non-blocking. Subclasses implement
 the synchronous resolveNamedValue(java.lang.String, org.springframework.core.MethodParameter, org.springframework.web.server.ServerWebExchange) to which the asynchronous
 resolveName(java.lang.String, org.springframework.core.MethodParameter, org.springframework.web.server.ServerWebExchange) delegates to by default.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolverAbstractNamedValueArgumentResolver.NamedValueInfo
- 
Field SummaryFields inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportlogger
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedAbstractNamedValueSyncArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) Create a newAbstractNamedValueSyncArgumentResolver.
- 
Method SummaryModifier and TypeMethodDescriptionreactor.core.publisher.Mono<Object>resolveArgument(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) Resolve the value for the method parameter.resolveArgumentValue(MethodParameter parameter, BindingContext context, ServerWebExchange exchange) Resolve the value for the method parameter synchronously.protected final reactor.core.publisher.Mono<Object>resolveName(String name, MethodParameter param, ServerWebExchange exchange) Resolve the given parameter type and value name into an argument value.protected abstract ObjectresolveNamedValue(String name, MethodParameter param, ServerWebExchange exchange) Actually resolve the value synchronously.Methods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolvercreateNamedValueInfo, handleMissingValue, handleMissingValue, handleResolvedValueMethods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportcheckAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistryMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.web.reactive.result.method.HandlerMethodArgumentResolversupportsParameter
- 
Constructor Details- 
AbstractNamedValueSyncArgumentResolverprotected AbstractNamedValueSyncArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) Create a newAbstractNamedValueSyncArgumentResolver.- Parameters:
- factory- a bean factory to use for resolving- ${...}placeholder and- #{...}SpEL expressions in default values; or- nullif default values are not expected to have expressions
- registry- for checking reactive type wrappers
 
 
- 
- 
Method Details- 
resolveArgumentpublic reactor.core.publisher.Mono<Object> resolveArgument(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) Description copied from interface:HandlerMethodArgumentResolverResolve the value for the method parameter.- Specified by:
- resolveArgumentin interface- HandlerMethodArgumentResolver
- Specified by:
- resolveArgumentin interface- SyncHandlerMethodArgumentResolver
- Overrides:
- resolveArgumentin class- AbstractNamedValueArgumentResolver
- Parameters:
- parameter- the method parameter
- bindingContext- the binding context to use
- exchange- the current exchange
- Returns:
- Monofor the argument value, possibly empty
 
- 
resolveArgumentValuepublic Object resolveArgumentValue(MethodParameter parameter, BindingContext context, ServerWebExchange exchange) Description copied from interface:SyncHandlerMethodArgumentResolverResolve the value for the method parameter synchronously.- Specified by:
- resolveArgumentValuein interface- SyncHandlerMethodArgumentResolver
- Parameters:
- parameter- the method parameter
- context- the binding context to use
- exchange- the current exchange
- Returns:
- the resolved value, if any
 
- 
resolveNameprotected final reactor.core.publisher.Mono<Object> resolveName(String name, MethodParameter param, ServerWebExchange exchange) Description copied from class:AbstractNamedValueArgumentResolverResolve the given parameter type and value name into an argument value.- Specified by:
- resolveNamein class- AbstractNamedValueArgumentResolver
- Parameters:
- name- the name of the value being resolved
- param- the method parameter to resolve to an argument value (pre-nested in case of a- Optionaldeclaration)
- exchange- the current exchange
- Returns:
- the resolved argument (may be empty Mono)
 
- 
resolveNamedValue@Nullable protected abstract Object resolveNamedValue(String name, MethodParameter param, ServerWebExchange exchange) Actually resolve the value synchronously.
 
-