public class ContentTypeDelegatingMessageConverter extends Object implements MessageConverter
MessageConverter
that delegates to an actual MessageConverter
based on the contentType header. Supports a default converter when no content type matches.
Note: the MessageProperties
requires a content type header to select a converter
when used for outbound conversion, but the converter will (generally) override it to match
the actual conversion.Constructor and Description |
---|
ContentTypeDelegatingMessageConverter()
Constructs an instance using a default
SimpleMessageConverter . |
ContentTypeDelegatingMessageConverter(MessageConverter defaultConverter)
Constructs an instance using a the supplied default converter.
|
Modifier and Type | Method and Description |
---|---|
void |
addDelegate(String contentType,
MessageConverter messageConverter)
Add a delegate converter for the content type.
|
Object |
fromMessage(Message message)
Convert from a Message to a Java object.
|
protected MessageConverter |
getConverterForContentType(String contentType) |
Map<String,MessageConverter> |
getDelegates() |
MessageConverter |
removeDelegate(String contentType)
Remove the delegate for the content type.
|
void |
setDelegates(Map<String,MessageConverter> delegatesByContentType) |
Message |
toMessage(Object object,
MessageProperties messageProperties)
Convert a Java object to a Message.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
toMessage
public ContentTypeDelegatingMessageConverter()
SimpleMessageConverter
.public ContentTypeDelegatingMessageConverter(MessageConverter defaultConverter)
defaultConverter
- the converter.public void setDelegates(Map<String,MessageConverter> delegatesByContentType)
public Map<String,MessageConverter> getDelegates()
public void addDelegate(String contentType, MessageConverter messageConverter)
contentType
- the content type to check.messageConverter
- the MessageConverter
for the content type.public MessageConverter removeDelegate(String contentType)
contentType
- the content type key to remove MessageConverter
from delegates.MessageConverter
.public Object fromMessage(Message message) throws MessageConversionException
MessageConverter
fromMessage
in interface MessageConverter
message
- the message to convertMessageConversionException
- in case of conversion failurepublic Message toMessage(Object object, MessageProperties messageProperties)
MessageConverter
toMessage
in interface MessageConverter
object
- the object to convertmessageProperties
- The message properties.protected MessageConverter getConverterForContentType(String contentType)