org.springframework.web.method.annotation.support
Class AbstractCookieValueMethodArgumentResolver

java.lang.Object
  extended by org.springframework.web.method.annotation.support.AbstractNamedValueMethodArgumentResolver
      extended by org.springframework.web.method.annotation.support.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.support.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.support.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