Class MatrixVariableMethodArgumentResolver
- java.lang.Object
- org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
- org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class MatrixVariableMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver
Resolves arguments annotated with@MatrixVariable.If the method parameter is of type
Mapit will by resolved byMatrixVariableMapMethodArgumentResolverinstead unless the annotation specifies a name in which case it is considered to be a single attribute of type map (vs multiple attributes collected in a map).- Since:
- 3.2
- Author:
- Rossen Stoyanchev, Sam Brannen
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
Constructor Summary
Constructors Constructor Description MatrixVariableMethodArgumentResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractNamedValueMethodArgumentResolver.NamedValueInfocreateNamedValueInfo(MethodParameter parameter)Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String name, MethodParameter parameter)Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)returnednulland there is no default value.protected ObjectresolveName(String name, MethodParameter parameter, NativeWebRequest request)Resolve the given parameter type and value name into an argument value.booleansupportsParameter(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
Constructor Detail
MatrixVariableMethodArgumentResolver
public MatrixVariableMethodArgumentResolver()
Method Detail
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
Description copied from interface:HandlerMethodArgumentResolverWhether the given method parameter is supported by this resolver.- Parameters:
parameter- the method parameter to check- Returns:
trueif this resolver supports the supplied parameter;falseotherwise
createNamedValueInfo
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
Description copied from class:AbstractNamedValueMethodArgumentResolverCreate theAbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class).- Specified by:
createNamedValueInfoin classAbstractNamedValueMethodArgumentResolver- Parameters:
parameter- the method parameter- Returns:
- the named value information
resolveName
@Nullable protected Object resolveName(String name, MethodParameter parameter, NativeWebRequest request) throws Exception
Description copied from class:AbstractNamedValueMethodArgumentResolverResolve the given parameter type and value name into an argument value.- Specified by:
resolveNamein classAbstractNamedValueMethodArgumentResolver- Parameters:
name- the name of the value being resolvedparameter- the method parameter to resolve to an argument value (pre-nested in case of aOptionaldeclaration)request- the current request- Returns:
- the resolved argument (may be
null) - Throws:
Exception- in case of errors
handleMissingValue
protected void handleMissingValue(String name, MethodParameter parameter) throws ServletRequestBindingException
Description copied from class:AbstractNamedValueMethodArgumentResolverInvoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)returnednulland there is no default value. Subclasses typically throw an exception in this case.- Overrides:
handleMissingValuein classAbstractNamedValueMethodArgumentResolver- Parameters:
name- the name for the valueparameter- the method parameter- Throws:
ServletRequestBindingException