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 |
|---|---|
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. |
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, canRead, canWrite, 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 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