public class DeferredResultMethodReturnValueHandler extends Object implements AsyncHandlerMethodReturnValueHandler
DeferredResult
, ListenableFuture
,
CompletionStage
and any other async type with a registered adapter
.Constructor and Description |
---|
DeferredResultMethodReturnValueHandler() |
Modifier and Type | Method and Description |
---|---|
Map<Class<?>,DeferredResultAdapter> |
getAdapterMap()
Deprecated.
in 4.3.8, see comments on
DeferredResultAdapter |
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 to true
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.
|
public DeferredResultMethodReturnValueHandler()
@Deprecated public Map<Class<?>,DeferredResultAdapter> getAdapterMap()
DeferredResultAdapter
DeferredResult
adapters.
By default the map contains adapters for DeferredResult
, which
simply downcasts, ListenableFuture
, and CompletionStage
.
public boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandler
supportsReturnType
in interface HandlerMethodReturnValueHandler
returnType
- the method return type to checktrue
if this handler supports the supplied return type;
false
otherwisepublic boolean isAsyncReturnValue(Object returnValue, MethodParameter returnType)
AsyncHandlerMethodReturnValueHandler
isAsyncReturnValue
in interface AsyncHandlerMethodReturnValueHandler
returnValue
- the return valuereturnType
- the return typetrue
if the return value is asynchronous.public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
HandlerMethodReturnValueHandler
ModelAndViewContainer.setRequestHandled(boolean)
flag to true
to indicate the response has been handled directly.handleReturnValue
in interface HandlerMethodReturnValueHandler
returnValue
- 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