Class HandlerMethodReturnValueHandlerComposite
- java.lang.Object
- org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite
- All Implemented Interfaces:
HandlerMethodReturnValueHandler
public class HandlerMethodReturnValueHandlerComposite extends Object implements HandlerMethodReturnValueHandler
Handles method return values by delegating to a list of registeredHandlerMethodReturnValueHandlers
. Previously resolved return types are cached for faster lookups.- Since:
- 3.1
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description HandlerMethodReturnValueHandlerComposite()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HandlerMethodReturnValueHandlerComposite
addHandler(HandlerMethodReturnValueHandler handler)
Add the givenHandlerMethodReturnValueHandler
.HandlerMethodReturnValueHandlerComposite
addHandlers(List<? extends HandlerMethodReturnValueHandler> handlers)
Add the givenHandlerMethodReturnValueHandlers
.List<HandlerMethodReturnValueHandler>
getHandlers()
Return a read-only list with the registered handlers, or an empty list.void
handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest)
Iterate over registeredHandlerMethodReturnValueHandlers
and invoke the one that supports it.boolean
supportsReturnType(MethodParameter returnType)
Whether the given method return type is supported by any registeredHandlerMethodReturnValueHandler
.
Constructor Detail
HandlerMethodReturnValueHandlerComposite
public HandlerMethodReturnValueHandlerComposite()
Method Detail
getHandlers
public List<HandlerMethodReturnValueHandler> getHandlers()
Return a read-only list with the registered handlers, or an empty list.
supportsReturnType
public boolean supportsReturnType(MethodParameter returnType)
Whether the given method return type is supported by any registeredHandlerMethodReturnValueHandler
.- 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
handleReturnValue
public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
Iterate over registeredHandlerMethodReturnValueHandlers
and invoke the one that supports it.- 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:
IllegalStateException
- if no suitableHandlerMethodReturnValueHandler
is found.Exception
- if the return value handling results in an error
addHandler
public HandlerMethodReturnValueHandlerComposite addHandler(HandlerMethodReturnValueHandler handler)
Add the givenHandlerMethodReturnValueHandler
.
addHandlers
public HandlerMethodReturnValueHandlerComposite addHandlers(@Nullable List<? extends HandlerMethodReturnValueHandler> handlers)
Add the givenHandlerMethodReturnValueHandlers
.