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