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
ConstructorsConstructorDescriptionDefault 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 booleancanConvertFrom(Message<?> message, Class<?> targetClass) protected booleancanConvertTo(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.voidsetMarshaller(@Nullable Marshaller marshaller) Set theMarshallerto be used by this message converter.voidsetUnmarshaller(@Nullable Unmarshaller unmarshaller) Set theUnmarshallerto be used by this message converter.protected booleanWhether 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 givenMarshalleralso implementsUnmarshaller, it is also used for unmarshalling.Note that all
Marshallerimplementations in Spring also implementUnmarshallerso that you can safely use this constructor.- Parameters:
marshaller- object used as marshaller and unmarshaller
-
-
Method Details
-
setMarshaller
Set theMarshallerto be used by this message converter. -
getMarshaller
Return the configured Marshaller. -
setUnmarshaller
Set theUnmarshallerto be used by this message converter. -
getUnmarshaller
Return the configured unmarshaller. -
canConvertFrom
- Overrides:
canConvertFromin classAbstractMessageConverter
-
canConvertTo
- Overrides:
canConvertToin classAbstractMessageConverter
-
supports
Description copied from class:AbstractMessageConverterWhether the given class is supported by this converter.- Specified by:
supportsin classAbstractMessageConverter- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
-
convertFromInternal
protected @Nullable Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) Description copied from class:AbstractMessageConverterConvert the message payload from serialized form to an Object.- Overrides:
convertFromInternalin 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
nullif the converter cannot perform the conversion
-
convertToInternal
protected @Nullable Object convertToInternal(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) Description copied from class:AbstractMessageConverterConvert the payload object to serialized form.- Overrides:
convertToInternalin 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
nullif the converter cannot perform the conversion
-