public class HandlerMethodReturnValueHandlerComposite extends Object implements AsyncHandlerMethodReturnValueHandler
| Constructor and Description |
|---|
HandlerMethodReturnValueHandlerComposite() |
| Modifier and Type | Method and Description |
|---|---|
HandlerMethodReturnValueHandlerComposite |
addHandler(HandlerMethodReturnValueHandler returnValuehandler)
Add the given
HandlerMethodReturnValueHandler. |
HandlerMethodReturnValueHandlerComposite |
addHandlers(List<? extends HandlerMethodReturnValueHandler> handlers)
Add the given
HandlerMethodReturnValueHandlers. |
void |
clear()
Clear the list of configured handlers.
|
List<HandlerMethodReturnValueHandler> |
getReturnValueHandlers()
Return a read-only list with the configured handlers.
|
void |
handleReturnValue(Object returnValue,
MethodParameter returnType,
Message<?> message)
Handle the given return value.
|
boolean |
isAsyncReturnValue(Object returnValue,
MethodParameter returnType)
Whether the return value represents an asynchronous, Future-like type
with success and error callbacks.
|
boolean |
supportsReturnType(MethodParameter returnType)
Whether the given method return type is
supported by this handler.
|
ListenableFuture<?> |
toListenableFuture(Object returnValue,
MethodParameter returnType)
Adapt the asynchronous return value to a
ListenableFuture. |
public HandlerMethodReturnValueHandlerComposite()
public List<HandlerMethodReturnValueHandler> getReturnValueHandlers()
public void clear()
public HandlerMethodReturnValueHandlerComposite addHandler(HandlerMethodReturnValueHandler returnValuehandler)
HandlerMethodReturnValueHandler.public HandlerMethodReturnValueHandlerComposite addHandlers(List<? extends HandlerMethodReturnValueHandler> handlers)
HandlerMethodReturnValueHandlers.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 void handleReturnValue(Object returnValue, MethodParameter returnType, Message<?> message) throws Exception
HandlerMethodReturnValueHandlerhandleReturnValue 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)
and it must have returned true.message - the message that caused this method to be calledException - if the return value handling results in an errorpublic boolean isAsyncReturnValue(Object returnValue, MethodParameter returnType)
AsyncHandlerMethodReturnValueHandlertrue,
then AsyncHandlerMethodReturnValueHandler.toListenableFuture(java.lang.Object, org.springframework.core.MethodParameter) is invoked next. If it returns
false, then HandlerMethodReturnValueHandler.handleReturnValue(java.lang.Object, org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>) is called.
Note: this method will only be invoked after
HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
is called and it returns true.
isAsyncReturnValue in interface AsyncHandlerMethodReturnValueHandlerreturnValue - the value returned from the handler methodreturnType - the type of the return valuetrue if the return value type represents an async valuepublic ListenableFuture<?> toListenableFuture(Object returnValue, MethodParameter returnType)
AsyncHandlerMethodReturnValueHandlerListenableFuture.
Implementations should consider returning an instance of
SettableListenableFuture. Return value handling will then continue when
the ListenableFuture is completed with either success or error.
Note: this method will only be invoked after
HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
is called and it returns true.
toListenableFuture in interface AsyncHandlerMethodReturnValueHandlerreturnValue - the value returned from the handler methodreturnType - the type of the return valuenull in which case
no further handling will be performed