Class AbstractXmlHttpMessageConverter<T>
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<T>
org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter<T>
- Type Parameters:
T
- the converted object type
- All Implemented Interfaces:
HttpMessageConverter<T>
- Direct Known Subclasses:
AbstractJaxb2HttpMessageConverter
,MarshallingHttpMessageConverter
Abstract base class for
HttpMessageConverters
that convert from/to XML.
By default, subclasses of this converter support text/xml
, application/xml
, and
application/*-xml
. This can be overridden by setting the supportedMediaTypes
property.
- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
-
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
-
Constructor Summary
ModifierConstructorDescriptionprotected
Protected constructor that sets thesupportedMediaTypes
totext/xml
andapplication/xml
, andapplication/*-xml
. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract T
readFromSource
(Class<? extends T> clazz, HttpHeaders headers, Source source) Abstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage)
.final T
readInternal
(Class<? extends T> clazz, HttpInputMessage inputMessage) Abstract template method that reads the actual object.protected void
Transforms the givenSource
to theResult
.protected final void
writeInternal
(T t, HttpOutputMessage outputMessage) Abstract template method that writes the actual body.protected abstract void
writeToResult
(T t, HttpHeaders headers, Result result) Abstract template method called fromwriteInternal(Object, HttpOutputMessage)
.Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, supports, write
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.http.converter.HttpMessageConverter
getSupportedMediaTypes
-
Constructor Details
-
AbstractXmlHttpMessageConverter
protected AbstractXmlHttpMessageConverter()Protected constructor that sets thesupportedMediaTypes
totext/xml
andapplication/xml
, andapplication/*-xml
.
-
-
Method Details
-
readInternal
public final T readInternal(Class<? extends T> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Description copied from class:AbstractHttpMessageConverter
Abstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage)
.- Specified by:
readInternal
in classAbstractHttpMessageConverter<T>
- Parameters:
clazz
- the type of object to returninputMessage
- the HTTP input message to read from- Returns:
- the converted object
- Throws:
IOException
- in case of I/O errorsHttpMessageNotReadableException
- in case of conversion errors
-
writeInternal
protected final void writeInternal(T t, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException Description copied from class:AbstractHttpMessageConverter
Abstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage)
.- Specified by:
writeInternal
in classAbstractHttpMessageConverter<T>
- Parameters:
t
- the object to write to the output messageoutputMessage
- the HTTP output message to write to- Throws:
IOException
- in case of I/O errorsHttpMessageNotWritableException
- in case of conversion errors
-
transform
Transforms the givenSource
to theResult
.- Parameters:
source
- the source to transform fromresult
- the result to transform to- Throws:
TransformerException
- in case of transformation errors
-
readFromSource
protected abstract T readFromSource(Class<? extends T> clazz, HttpHeaders headers, Source source) throws Exception Abstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage)
.- Parameters:
clazz
- the type of object to returnheaders
- the HTTP input headerssource
- the HTTP input body- Returns:
- the converted object
- Throws:
Exception
- in case of I/O or conversion errors
-
writeToResult
Abstract template method called fromwriteInternal(Object, HttpOutputMessage)
.- Parameters:
t
- the object to write to the output messageheaders
- the HTTP output headersresult
- the HTTP output body- Throws:
Exception
- in case of I/O or conversion errors
-