public class HandlerMethodReturnValueHandlerComposite extends java.lang.Object implements AsyncHandlerMethodReturnValueHandler
| Constructor and Description |
|---|
HandlerMethodReturnValueHandlerComposite() |
| Modifier and Type | Method and Description |
|---|---|
HandlerMethodReturnValueHandlerComposite |
addHandler(HandlerMethodReturnValueHandler returnValuehandler)
Add the given
HandlerMethodReturnValueHandler. |
HandlerMethodReturnValueHandlerComposite |
addHandlers(java.util.List<? extends HandlerMethodReturnValueHandler> handlers)
Add the given
HandlerMethodReturnValueHandlers. |
void |
clear()
Clear the list of configured handlers.
|
java.util.List<HandlerMethodReturnValueHandler> |
getReturnValueHandlers()
Return a read-only list with the configured handlers.
|
void |
handleReturnValue(java.lang.Object returnValue,
MethodParameter returnType,
Message<?> message)
Handle the given return value.
|
boolean |
isAsyncReturnValue(java.lang.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(java.lang.Object returnValue,
MethodParameter returnType)
Adapt the asynchronous return value to a
ListenableFuture. |
public HandlerMethodReturnValueHandlerComposite()
public java.util.List<HandlerMethodReturnValueHandler> getReturnValueHandlers()
public void clear()
public HandlerMethodReturnValueHandlerComposite addHandler(HandlerMethodReturnValueHandler returnValuehandler)
HandlerMethodReturnValueHandler.public HandlerMethodReturnValueHandlerComposite addHandlers(java.util.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(java.lang.Object returnValue,
MethodParameter returnType,
Message<?> message)
throws java.lang.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 calledjava.lang.Exception - if the return value handling results in an errorpublic boolean isAsyncReturnValue(java.lang.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 value.public ListenableFuture<?> toListenableFuture(java.lang.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 value.null in which case no
further handling will be performed.