private
List<HandlerMethodReturnValueHandler> getDefaultReturnValueHandlers() {
List<HandlerMethodReturnValueHandler> handlers =
new
ArrayList<HandlerMethodReturnValueHandler>();
handlers.add(
new
ModelAndViewMethodReturnValueHandler());
handlers.add(
new
ModelMethodProcessor());
handlers.add(
new
ViewMethodReturnValueHandler());
handlers.add(
new
HttpEntityMethodProcessor(getMessageConverters(),
this
.contentNegotiationManager));
handlers.add(
new
HttpHeadersReturnValueHandler());
handlers.add(
new
CallableMethodReturnValueHandler());
handlers.add(
new
DeferredResultMethodReturnValueHandler());
handlers.add(
new
AsyncTaskMethodReturnValueHandler(
this
.beanFactory));
handlers.add(
new
ModelAttributeMethodProcessor(
false
));
handlers.add(
new
RequestResponseBodyMethodProcessor(getMessageConverters(),
this
.contentNegotiationManager));
handlers.add(
new
ViewNameMethodReturnValueHandler());
handlers.add(
new
MapMethodProcessor());
if
(getCustomReturnValueHandlers() !=
null
) {
handlers.addAll(getCustomReturnValueHandlers());
}
if
(!CollectionUtils.isEmpty(getModelAndViewResolvers())) {
handlers.add(
new
ModelAndViewResolverMethodReturnValueHandler(getModelAndViewResolvers()));
}
else
{
handlers.add(
new
ModelAttributeMethodProcessor(
true
));
}
return
handlers;
}