public class CompositeMessageConverter extends Object implements SmartMessageConverter
MessageConverter that delegates to a list of registered converters
 to be invoked until one of them returns a non-null result.
 As of 4.2.1, this composite converter implements SmartMessageConverter
 in order to support the delegation of conversion hints.
| Constructor and Description | 
|---|
CompositeMessageConverter(Collection<MessageConverter> converters)
Create an instance with the given converters. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Object | 
fromMessage(Message<?> message,
           Class<?> targetClass)
Convert the payload of a  
Message from a serialized form to a typed Object
 of the specified target class. | 
Object | 
fromMessage(Message<?> message,
           Class<?> targetClass,
           Object conversionHint)
A variant of  
MessageConverter.fromMessage(Message, Class) which takes an extra
 conversion context as an argument, allowing to take e.g. | 
List<MessageConverter> | 
getConverters()
Return the underlying list of delegate converters. 
 | 
Message<?> | 
toMessage(Object payload,
         MessageHeaders headers)
Create a  
Message whose payload is the result of converting the given
 payload Object to serialized form. | 
Message<?> | 
toMessage(Object payload,
         MessageHeaders headers,
         Object conversionHint)
A variant of  
MessageConverter.toMessage(Object, MessageHeaders) which takes an extra
 conversion context as an argument, allowing to take e.g. | 
String | 
toString()  | 
public CompositeMessageConverter(Collection<MessageConverter> converters)
public Object fromMessage(Message<?> message, Class<?> targetClass)
MessageConverterMessage from a serialized form to a typed Object
 of the specified target class. The MessageHeaders.CONTENT_TYPE header
 should indicate the MIME type to convert from.
 If the converter does not support the specified media type or cannot perform
 the conversion, it should return null.
fromMessage in interface MessageConvertermessage - the input messagetargetClass - the target class for the conversionnull if the converter cannot
 perform the conversionpublic Object fromMessage(Message<?> message, Class<?> targetClass, Object conversionHint)
SmartMessageConverterMessageConverter.fromMessage(Message, Class) which takes an extra
 conversion context as an argument, allowing to take e.g. annotations
 on a payload parameter into account.fromMessage in interface SmartMessageConvertermessage - the input messagetargetClass - the target class for the conversionconversionHint - an extra object passed to the MessageConverter,
 e.g. the associated MethodParameter (may be null}null if the converter cannot
 perform the conversionMessageConverter.fromMessage(Message, Class)public Message<?> toMessage(Object payload, MessageHeaders headers)
MessageConverterMessage whose payload is the result of converting the given
 payload Object to serialized form. The optional MessageHeaders parameter
 may contain a MessageHeaders.CONTENT_TYPE header to specify the target
 media type for the conversion and it may contain additional headers to be added
 to the message.
 If the converter does not support the specified media type or cannot perform
 the conversion, it should return null.
toMessage in interface MessageConverterpayload - the Object to convertheaders - optional headers for the message (may be null)null if the converter does not support the
 Object type or the target media typepublic Message<?> toMessage(Object payload, MessageHeaders headers, Object conversionHint)
SmartMessageConverterMessageConverter.toMessage(Object, MessageHeaders) which takes an extra
 conversion context as an argument, allowing to take e.g. annotations
 on a return type into account.toMessage in interface SmartMessageConverterpayload - the Object to convertheaders - optional headers for the message (may be null)conversionHint - an extra object passed to the MessageConverter,
 e.g. the associated MethodParameter (may be null}null if the converter does not support the
 Object type or the target media typeMessageConverter.toMessage(Object, MessageHeaders)public List<MessageConverter> getConverters()