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, MessageHeaders headers) protected Object
convertFromInternal
(Message<?> message, Class<?> targetClass, Object conversionHint) Convert the message payload from serialized form to an Object.protected Object
convertToInternal
(Object payload, MessageHeaders headers, Object conversionHint) Convert the payload object to serialized form.Return the configured Marshaller.Return the configured unmarshaller.void
setMarshaller
(Marshaller marshaller) Set theMarshaller
to be used by this message converter.void
setUnmarshaller
(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
@Nullable protected 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
, e.g. the associatedMethodParameter
(may benull
}- Returns:
- the result of the conversion, or
null
if the converter cannot perform the conversion
-
convertToInternal
@Nullable protected 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
, e.g. the associatedMethodParameter
(may benull
}- Returns:
- the resulting payload for the message, or
null
if the converter cannot perform the conversion
-