Class AbstractCookieValueMethodArgumentResolver
- java.lang.Object
- org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
- org.springframework.web.method.annotation.AbstractCookieValueMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
- Direct Known Subclasses:
ServletCookieValueMethodArgumentResolver
public abstract class AbstractCookieValueMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver
A base abstract class to resolve method arguments annotated with@CookieValue
. Subclasses extract the cookie value from the request.An
@CookieValue
is a named value that is resolved from a cookie. It has a required flag and a default value to fall back on when the cookie does not exist.A
WebDataBinder
may be invoked to apply type conversion to the resolved cookie value.- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
Constructor Summary
Constructors Constructor Description AbstractCookieValueMethodArgumentResolver(ConfigurableBeanFactory beanFactory)
Crate a newAbstractCookieValueMethodArgumentResolver
instance.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo
createNamedValueInfo(MethodParameter parameter)
Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter.protected void
handleMissingValue(String name, MethodParameter parameter)
Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returnednull
and there is no default value.boolean
supportsParameter(MethodParameter parameter)
Whether the given method parameter is supported by this resolver.Methods inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
handleMissingValue, handleResolvedValue, resolveArgument, resolveName
Constructor Detail
AbstractCookieValueMethodArgumentResolver
public AbstractCookieValueMethodArgumentResolver(@Nullable ConfigurableBeanFactory beanFactory)
Crate a newAbstractCookieValueMethodArgumentResolver
instance.- Parameters:
beanFactory
- a bean factory to use for resolving ${...} placeholder and #{...} SpEL expressions in default values; ornull
if default values are not expected to contain expressions
Method Detail
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
Description copied from interface:HandlerMethodArgumentResolver
Whether the given method parameter is supported by this resolver.- Parameters:
parameter
- the method parameter to check- Returns:
true
if this resolver supports the supplied parameter;false
otherwise
createNamedValueInfo
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
Description copied from class:AbstractNamedValueMethodArgumentResolver
Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class)
.- Specified by:
createNamedValueInfo
in classAbstractNamedValueMethodArgumentResolver
- Parameters:
parameter
- the method parameter- Returns:
- the named value information
handleMissingValue
protected void handleMissingValue(String name, MethodParameter parameter) throws ServletRequestBindingException
Description copied from class:AbstractNamedValueMethodArgumentResolver
Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returnednull
and there is no default value. Subclasses typically throw an exception in this case.- Overrides:
handleMissingValue
in classAbstractNamedValueMethodArgumentResolver
- Parameters:
name
- the name for the valueparameter
- the method parameter- Throws:
ServletRequestBindingException