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()
Return the map with
DeferredResult adapters. |
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()
public Map<Class<?>,DeferredResultAdapter> getAdapterMap()
DeferredResult adapters.
By default the map contains adapters for DeferredResult, which
simply downcasts, ListenableFuture, and CompletionStage.
public boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandlersupportsReturnType in interface HandlerMethodReturnValueHandlerreturnType - the method return type to checktrue if this handler supports the supplied return type;
false otherwisepublic boolean isAsyncReturnValue(Object returnValue, MethodParameter returnType)
AsyncHandlerMethodReturnValueHandlerisAsyncReturnValue in interface AsyncHandlerMethodReturnValueHandlerreturnValue - 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
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