Class DeferredResultMethodReturnValueHandler
- java.lang.Object
- org.springframework.web.servlet.mvc.method.annotation.DeferredResultMethodReturnValueHandler
- All Implemented Interfaces:
AsyncHandlerMethodReturnValueHandler
,HandlerMethodReturnValueHandler
public class DeferredResultMethodReturnValueHandler extends Object implements AsyncHandlerMethodReturnValueHandler
Handler for return values of typeDeferredResult
,ListenableFuture
,CompletionStage
and any other async type with aregistered adapter
.- Since:
- 3.2
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description DeferredResultMethodReturnValueHandler()
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Map<Class<?>,DeferredResultAdapter>
getAdapterMap()
Deprecated.in 4.3.8, see comments onDeferredResultAdapter
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 theModelAndViewContainer.setRequestHandled(boolean)
flag totrue
to indicate the response has been handled directly.boolean
isAsyncReturnValue(Object returnValue, MethodParameter returnType)
Whether the given return value represents asynchronous computation.boolean
supportsReturnType(MethodParameter returnType)
Whether the given method return type is supported by this handler.
Constructor Detail
DeferredResultMethodReturnValueHandler
public DeferredResultMethodReturnValueHandler()
Method Detail
getAdapterMap
@Deprecated public Map<Class<?>,DeferredResultAdapter> getAdapterMap()
Deprecated.in 4.3.8, see comments onDeferredResultAdapter
Return the map withDeferredResult
adapters.By default the map contains adapters for
DeferredResult
, which simply downcasts,ListenableFuture
, andCompletionStage
.- Returns:
- the map of adapters
supportsReturnType
public boolean supportsReturnType(MethodParameter returnType)
Description copied from interface:HandlerMethodReturnValueHandler
Whether the given method return type is supported by this handler.- Specified by:
supportsReturnType
in interfaceHandlerMethodReturnValueHandler
- Parameters:
returnType
- the method return type to check- Returns:
true
if this handler supports the supplied return type;false
otherwise
isAsyncReturnValue
public boolean isAsyncReturnValue(Object returnValue, MethodParameter returnType)
Description copied from interface:AsyncHandlerMethodReturnValueHandler
Whether the given return value represents asynchronous computation.- Specified by:
isAsyncReturnValue
in interfaceAsyncHandlerMethodReturnValueHandler
- Parameters:
returnValue
- the value returned from the handler methodreturnType
- the return type- Returns:
true
if the return value type represents an async value
handleReturnValue
public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
Description copied from interface:HandlerMethodReturnValueHandler
Handle the given return value by adding attributes to the model and setting a view or setting theModelAndViewContainer.setRequestHandled(boolean)
flag totrue
to indicate the response has been handled directly.- Specified by:
handleReturnValue
in interfaceHandlerMethodReturnValueHandler
- Parameters:
returnValue
- the value returned from the handler methodreturnType
- the type of the return value. This type must have previously been passed toHandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
which must have returnedtrue
.mavContainer
- the ModelAndViewContainer for the current requestwebRequest
- the current request- Throws:
Exception
- if the return value handling results in an error