Class HeaderMethodArgumentResolver
- java.lang.Object
- org.springframework.messaging.handler.annotation.support.AbstractNamedValueMethodArgumentResolver
- org.springframework.messaging.handler.annotation.support.HeaderMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class HeaderMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver
Resolves method parameters annotated with@Header.- Since:
- 4.0
- Author:
- Rossen Stoyanchev
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.messaging.handler.annotation.support.AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
Constructor Summary
Constructors Constructor Description HeaderMethodArgumentResolver(ConversionService cs, ConfigurableBeanFactory beanFactory)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractNamedValueMethodArgumentResolver.NamedValueInfocreateNamedValueInfo(MethodParameter parameter)Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String headerName, MethodParameter parameter, Message<?> message)Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveArgumentInternal(MethodParameter, Message, String)returnednulland there is no default value.protected ObjectresolveArgumentInternal(MethodParameter parameter, Message<?> message, String name)Resolves the given parameter type and value name into an argument value.booleansupportsParameter(MethodParameter parameter)Whether the given method parameter is supported by this resolver.Methods inherited from class org.springframework.messaging.handler.annotation.support.AbstractNamedValueMethodArgumentResolver
handleResolvedValue, resolveArgument
Constructor Detail
HeaderMethodArgumentResolver
public HeaderMethodArgumentResolver(ConversionService cs, ConfigurableBeanFactory beanFactory)
Method Detail
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
Description copied from interface:HandlerMethodArgumentResolverWhether the given method parameter is supported by this resolver.- Parameters:
parameter- the method parameter to check- Returns:
trueif this resolver supports the supplied parameter;falseotherwise
createNamedValueInfo
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
Description copied from class:AbstractNamedValueMethodArgumentResolverCreate theAbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class).- Specified by:
createNamedValueInfoin classAbstractNamedValueMethodArgumentResolver- Parameters:
parameter- the method parameter- Returns:
- the named value information
resolveArgumentInternal
protected Object resolveArgumentInternal(MethodParameter parameter, Message<?> message, String name) throws Exception
Description copied from class:AbstractNamedValueMethodArgumentResolverResolves the given parameter type and value name into an argument value.- Specified by:
resolveArgumentInternalin classAbstractNamedValueMethodArgumentResolver- Parameters:
parameter- the method parameter to resolve to an argument valuemessage- the current requestname- the name of the value being resolved- Returns:
- the resolved argument. May be
null - Throws:
Exception- in case of errors
handleMissingValue
protected void handleMissingValue(String headerName, MethodParameter parameter, Message<?> message)
Description copied from class:AbstractNamedValueMethodArgumentResolverInvoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveArgumentInternal(MethodParameter, Message, String)returnednulland there is no default value. Subclasses typically throw an exception in this case.- Specified by:
handleMissingValuein classAbstractNamedValueMethodArgumentResolver- Parameters:
headerName- the name for the valueparameter- the method parametermessage- the message being processed