Spring Framework

org.springframework.web.servlet.mvc.method.annotation
Class PathVariableMapMethodArgumentResolver

java.lang.Object
  extended by org.springframework.web.servlet.mvc.method.annotation.PathVariableMapMethodArgumentResolver
All Implemented Interfaces:
HandlerMethodArgumentResolver

public class PathVariableMapMethodArgumentResolver
extends java.lang.Object
implements HandlerMethodArgumentResolver

Resolves Map method arguments annotated with an @PathVariable where the annotation does not specify a path variable name. The created Map contains all URI template name/value pairs.

Since:
3.2
Author:
Rossen Stoyanchev
See Also:
PathVariableMethodArgumentResolver

Constructor Summary
PathVariableMapMethodArgumentResolver()
           
 
Method Summary
 java.lang.Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory)
          Return a Map with all URI template variables.
 boolean supportsParameter(MethodParameter parameter)
          Whether the given method parameter is supported by this resolver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PathVariableMapMethodArgumentResolver

public PathVariableMapMethodArgumentResolver()
Method Detail

supportsParameter

public boolean supportsParameter(MethodParameter parameter)
Description copied from interface: HandlerMethodArgumentResolver
Whether the given method parameter is supported by this resolver.

Specified by:
supportsParameter in interface HandlerMethodArgumentResolver
Parameters:
parameter - the method parameter to check
Returns:
true if this resolver supports the supplied parameter; false otherwise

resolveArgument

public java.lang.Object resolveArgument(MethodParameter parameter,
                                        ModelAndViewContainer mavContainer,
                                        NativeWebRequest webRequest,
                                        WebDataBinderFactory binderFactory)
                                 throws java.lang.Exception
Return a Map with all URI template variables.

Specified by:
resolveArgument in interface HandlerMethodArgumentResolver
Parameters:
parameter - the method parameter to resolve. This parameter must have previously been passed to HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter) and it must have returned true
mavContainer - the ModelAndViewContainer for the current request
webRequest - the current request
binderFactory - a factory for creating WebDataBinder instances
Returns:
the resolved argument value, or null.
Throws:
ServletRequestBindingException - if no URI vars are found in the request attribute HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE
java.lang.Exception - in case of errors with the preparation of argument values

Spring Framework