Class ResponseBodyEmitterReturnValueHandler
- java.lang.Object
- org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler
- All Implemented Interfaces:
AsyncHandlerMethodReturnValueHandler
,HandlerMethodReturnValueHandler
public class ResponseBodyEmitterReturnValueHandler extends Object implements AsyncHandlerMethodReturnValueHandler
Handler for return values of typeResponseBodyEmitter
(and theResponseEntity<ResponseBodyEmitter>
sub-class) as well as any other async type with aregistered adapter
.- Since:
- 4.2
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description ResponseBodyEmitterReturnValueHandler(List<HttpMessageConverter<?>> messageConverters)
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Map<Class<?>,ResponseBodyEmitterAdapter>
getAdapterMap()
Deprecated.in 4.3.8, see comments onResponseBodyEmitterAdapter
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
ResponseBodyEmitterReturnValueHandler
public ResponseBodyEmitterReturnValueHandler(List<HttpMessageConverter<?>> messageConverters)
Method Detail
getAdapterMap
@Deprecated public Map<Class<?>,ResponseBodyEmitterAdapter> getAdapterMap()
Deprecated.in 4.3.8, see comments onResponseBodyEmitterAdapter
Return the map withResponseBodyEmitter
adapters. By default the map contains a single adapterResponseBodyEmitter
that simply downcasts the return value.- 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