public class MarshallingHttpMessageConverter extends AbstractXmlHttpMessageConverter<Object>
HttpMessageConverter
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.
By default, this converter supports text/xml and application/xml. This can be
overridden by setting the supportedMediaTypes property.
logger| Constructor and Description |
|---|
MarshallingHttpMessageConverter()
|
MarshallingHttpMessageConverter(Marshaller marshaller)
Construct a new
MarshallingMessageConverter with the given Marshaller set. |
MarshallingHttpMessageConverter(Marshaller marshaller,
Unmarshaller unmarshaller)
Construct a new
MarshallingMessageConverter with the given
Marshaller and Unmarshaller. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canRead(Class<?> clazz,
MediaType mediaType)
This implementation checks if the given class is supported,
and if the supported media types
include the given media type.
|
boolean |
canWrite(Class<?> clazz,
MediaType mediaType)
This implementation checks if the given class is supported,
and if the supported media types
include the given media type.
|
protected Object |
readFromSource(Class<?> clazz,
HttpHeaders headers,
Source source)
Abstract template method called from
AbstractHttpMessageConverter.read(Class, HttpInputMessage). |
void |
setMarshaller(Marshaller marshaller)
Set the
Marshaller to be used by this message converter. |
void |
setUnmarshaller(Unmarshaller unmarshaller)
Set the
Unmarshaller to be used by this message converter. |
protected boolean |
supports(Class<?> clazz)
Indicates whether the given class is supported by this converter.
|
protected void |
writeToResult(Object o,
HttpHeaders headers,
Result result)
Abstract template method called from
AbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage). |
readInternal, transform, writeInternalcanRead, canWrite, getContentLength, getDefaultContentType, getSupportedMediaTypes, read, setSupportedMediaTypes, writepublic MarshallingHttpMessageConverter()
MarshallingHttpMessageConverter with no Marshaller or
Unmarshaller set. The Marshaller and Unmarshaller must be set after construction
by invoking setMarshaller(Marshaller) and setUnmarshaller(Unmarshaller) .public MarshallingHttpMessageConverter(Marshaller marshaller)
MarshallingMessageConverter with the given Marshaller set.
If the given Marshaller also implements the Unmarshaller interface,
it is used for both marshalling and unmarshalling. Otherwise, an exception is thrown.
Note that all Marshaller implementations in Spring also implement the
Unmarshaller interface, so that you can safely use this constructor.
marshaller - object used as marshaller and unmarshallerpublic MarshallingHttpMessageConverter(Marshaller marshaller, Unmarshaller unmarshaller)
MarshallingMessageConverter with the given
Marshaller and Unmarshaller.marshaller - the Marshaller to useunmarshaller - the Unmarshaller to usepublic void setMarshaller(Marshaller marshaller)
Marshaller to be used by this message converter.public void setUnmarshaller(Unmarshaller unmarshaller)
Unmarshaller to be used by this message converter.public boolean canRead(Class<?> clazz, MediaType mediaType)
AbstractHttpMessageConvertercanRead in interface HttpMessageConverter<Object>canRead in class AbstractHttpMessageConverter<Object>clazz - the class to test for readabilitymediaType - the media type to read, can be null if not specified.
Typically the value of a Content-Type header.true if readable; false otherwisepublic boolean canWrite(Class<?> clazz, MediaType mediaType)
AbstractHttpMessageConvertercanWrite in interface HttpMessageConverter<Object>canWrite in class AbstractHttpMessageConverter<Object>clazz - the class to test for writabilitymediaType - the media type to write, can be null if not specified.
Typically the value of an Accept header.true if writable; false otherwiseprotected boolean supports(Class<?> clazz)
AbstractHttpMessageConvertersupports in class AbstractHttpMessageConverter<Object>clazz - the class to test for supporttrue if supported; false otherwiseprotected Object readFromSource(Class<?> clazz, HttpHeaders headers, Source source) throws IOException
AbstractXmlHttpMessageConverterAbstractHttpMessageConverter.read(Class, HttpInputMessage).readFromSource in class AbstractXmlHttpMessageConverter<Object>clazz - the type of object to returnheaders - the HTTP input headerssource - the HTTP input bodyIOException - in case of I/O errorsprotected void writeToResult(Object o, HttpHeaders headers, Result result) throws IOException
AbstractXmlHttpMessageConverterAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage).writeToResult in class AbstractXmlHttpMessageConverter<Object>o - the object to write to the output messageheaders - the HTTP output headersresult - the HTTP output bodyIOException - in case of I/O errors