public class ModelMethodProcessor extends Object implements HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler
Model arguments and handles Model return values.
 A Model return type has a set purpose. Therefore this handler
 should be configured ahead of handlers that support any return value type
 annotated with @ModelAttribute or @ResponseBody to ensure
 they don't take over.
| Constructor and Description | 
|---|
| ModelMethodProcessor() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | handleReturnValue(Object returnValue,
                 MethodParameter returnType,
                 ModelAndViewContainer mavContainer,
                 NativeWebRequest webRequest)Handle the given return value by adding attributes to the model and
 setting a view or setting the
  ModelAndViewContainer.setRequestHandled(boolean)flag totrueto indicate the response has been handled directly. | 
| Object | resolveArgument(MethodParameter parameter,
               ModelAndViewContainer mavContainer,
               NativeWebRequest webRequest,
               WebDataBinderFactory binderFactory)Resolves a method parameter into an argument value from a given request. | 
| boolean | supportsParameter(MethodParameter parameter)Whether the given method parameter is
 supported by this resolver. | 
| boolean | supportsReturnType(MethodParameter returnType)Whether the given method return type is
 supported by this handler. | 
public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolversupportsParameter in interface HandlerMethodArgumentResolverparameter - the method parameter to checktrue if this resolver supports the supplied parameter;
 false otherwisepublic Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception
HandlerMethodArgumentResolverModelAndViewContainer provides access to the model for the
 request. A WebDataBinderFactory provides a way to create
 a WebDataBinder instance when needed for data binding and
 type conversion purposes.resolveArgument in interface HandlerMethodArgumentResolverparameter - the method parameter to resolve. This parameter must
 have previously been passed to HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter) which must
 have returned true.mavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestbinderFactory - a factory for creating WebDataBinder instancesnullException - in case of errors with the preparation of argument valuespublic boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandlersupportsReturnType in interface HandlerMethodReturnValueHandlerreturnType - the method return type to checktrue if this handler supports the supplied return type;
 false otherwisepublic void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
HandlerMethodReturnValueHandlerModelAndViewContainer.setRequestHandled(boolean) flag to true
 to indicate the response has been handled directly.handleReturnValue in interface HandlerMethodReturnValueHandlerreturnValue - the value returned from the handler methodreturnType - the type of the return value. This type must have
 previously been passed to HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter) which must
 have returned true.mavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestException - if the return value handling results in an error