Class MarshallingMessageConverter
java.lang.Object
org.springframework.messaging.converter.AbstractMessageConverter
org.springframework.messaging.converter.MarshallingMessageConverter
- All Implemented Interfaces:
MessageConverter
,SmartMessageConverter
Implementation of
MessageConverter
that can read and write XML using Spring's
Marshaller
and Unmarshaller
abstractions.
This converter requires a Marshaller
and Unmarshaller
before it can
be used. These can be injected by the constructor or bean properties.
- Since:
- 4.2
- Author:
- Arjen Poutsma
- See Also:
-
Field Summary
Fields inherited from class org.springframework.messaging.converter.AbstractMessageConverter
logger
-
Constructor Summary
ConstructorDescriptionDefault construct allowing forsetMarshaller(Marshaller)
and/orsetUnmarshaller(Unmarshaller)
to be invoked separately.MarshallingMessageConverter
(Marshaller marshaller) Constructor withMarshaller
.MarshallingMessageConverter
(MimeType... supportedMimeTypes) Constructor with a given list of MIME types to support. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
canConvertFrom
(Message<?> message, Class<?> targetClass) protected boolean
canConvertTo
(Object payload, @Nullable MessageHeaders headers) convertFromInternal
(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) Convert the message payload from serialized form to an Object.convertToInternal
(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) Convert the payload object to serialized form.Return the configured Marshaller.Return the configured unmarshaller.void
setMarshaller
(@Nullable Marshaller marshaller) Set theMarshaller
to be used by this message converter.void
setUnmarshaller
(@Nullable Unmarshaller unmarshaller) Set theUnmarshaller
to be used by this message converter.protected boolean
Whether the given class is supported by this converter.Methods inherited from class org.springframework.messaging.converter.AbstractMessageConverter
addSupportedMimeTypes, fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessage
-
Constructor Details
-
MarshallingMessageConverter
public MarshallingMessageConverter()Default construct allowing forsetMarshaller(Marshaller)
and/orsetUnmarshaller(Unmarshaller)
to be invoked separately. -
MarshallingMessageConverter
Constructor with a given list of MIME types to support.- Parameters:
supportedMimeTypes
- the MIME types
-
MarshallingMessageConverter
Constructor withMarshaller
. If the givenMarshaller
also implementsUnmarshaller
, it is also used for unmarshalling.Note that all
Marshaller
implementations in Spring also implementUnmarshaller
so that you can safely use this constructor.- Parameters:
marshaller
- object used as marshaller and unmarshaller
-
-
Method Details
-
setMarshaller
Set theMarshaller
to be used by this message converter. -
getMarshaller
Return the configured Marshaller. -
setUnmarshaller
Set theUnmarshaller
to be used by this message converter. -
getUnmarshaller
Return the configured unmarshaller. -
canConvertFrom
- Overrides:
canConvertFrom
in classAbstractMessageConverter
-
canConvertTo
- Overrides:
canConvertTo
in classAbstractMessageConverter
-
supports
Description copied from class:AbstractMessageConverter
Whether the given class is supported by this converter.- Specified by:
supports
in classAbstractMessageConverter
- Parameters:
clazz
- the class to test for support- Returns:
true
if supported;false
otherwise
-
convertFromInternal
protected @Nullable Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) Description copied from class:AbstractMessageConverter
Convert the message payload from serialized form to an Object.- Overrides:
convertFromInternal
in classAbstractMessageConverter
- Parameters:
message
- the input messagetargetClass
- the target class for the conversionconversionHint
- an extra object passed to theMessageConverter
, for example, the associatedMethodParameter
(may benull
}- Returns:
- the result of the conversion, or
null
if the converter cannot perform the conversion
-
convertToInternal
protected @Nullable Object convertToInternal(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) Description copied from class:AbstractMessageConverter
Convert the payload object to serialized form.- Overrides:
convertToInternal
in classAbstractMessageConverter
- Parameters:
payload
- the Object to convertheaders
- optional headers for the message (may benull
)conversionHint
- an extra object passed to theMessageConverter
, for example, the associatedMethodParameter
(may benull
}- Returns:
- the resulting payload for the message, or
null
if the converter cannot perform the conversion
-