## org.springframework.web.method.annotation
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
`AbstractCookieValueMethodArgumentResolver(ConfigurableBeanFactory beanFactory)`

Method Summary
`protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo` `createNamedValueInfo(MethodParameter parameter)` Create the `AbstractNamedValueMethodArgumentResolver.NamedValueInfo` object for the given method parameter.
`protected void` `handleMissingValue(String cookieName, MethodParameter param)` Invoked when a named value is required, but `AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)` returned `null` 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
`handleResolvedValue, resolveArgument, resolveName`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractCookieValueMethodArgumentResolver

    public AbstractCookieValueMethodArgumentResolver(ConfigurableBeanFactory beanFactory)

Parameters:
  `beanFactory` - a bean factory to use for resolving ${...} placeholder and #{...} SpEL expressions in default values; or `null` 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 the `AbstractNamedValueMethodArgumentResolver.NamedValueInfo` object for the given method parameter. Implementations typically retrieve the method annotation by means of `MethodParameter.getParameterAnnotation(Class)`.

  Specified by:
    `createNamedValueInfo` in class `AbstractNamedValueMethodArgumentResolver`
  Parameters:
    `parameter` - the method parameter
  Returns:
    the named value information

### handleMissingValue

    protected void handleMissingValue(String cookieName,
                                      MethodParameter param)
                               throws ServletRequestBindingException

  Description copied from class: `AbstractNamedValueMethodArgumentResolver`
  Invoked when a named value is required, but `AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)` returned `null` and there is no default value. Subclasses typically throw an exception in this case.

  Specified by:
    `handleMissingValue` in class `AbstractNamedValueMethodArgumentResolver`
  Parameters:
    `cookieName` - the name for the value
    `param` - the method parameter
  Throws:
    `ServletRequestBindingException`