Class SourceHttpMessageConverter<T extends Source>
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<T>
org.springframework.http.converter.xml.SourceHttpMessageConverter<T>
- Type Parameters:
T
- the converted object type
- All Implemented Interfaces:
HttpMessageConverter<T>
Implementation of
HttpMessageConverter
that can read and write Source
objects.- Since:
- 3.0
- Author:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
-
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
-
Constructor Summary
ConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionprotected Long
getContentLength
(T t, MediaType contentType) Returns the content length for the given type.boolean
Return whether XML external entities are allowed.boolean
Return whether DTD parsing is supported.protected T
readInternal
(Class<? extends T> clazz, HttpInputMessage inputMessage) Abstract template method that reads the actual object.void
setProcessExternalEntities
(boolean processExternalEntities) Indicate whether external XML entities are processed when converting to a Source.void
setSupportDtd
(boolean supportDtd) Indicate whether DTD parsing should be supported.boolean
Indicates whether the given class is supported by this converter.protected boolean
Indicates whether this message converter can write the given object multiple times.protected void
writeInternal
(T t, HttpOutputMessage outputMessage) Abstract template method that writes the actual body.Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, 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
-
SourceHttpMessageConverter
public SourceHttpMessageConverter()
-
-
Method Details
-
setSupportDtd
public void setSupportDtd(boolean supportDtd) Indicate whether DTD parsing should be supported.Default is
false
meaning that DTD is disabled. -
isSupportDtd
public boolean isSupportDtd()Return whether DTD parsing is supported. -
setProcessExternalEntities
public void setProcessExternalEntities(boolean processExternalEntities) Indicate whether external XML entities are processed when converting to a Source.Default is
false
, meaning that external entities are not resolved.Note: setting this option to
true
also automatically setssetSupportDtd(boolean)
totrue
. -
isProcessExternalEntities
public boolean isProcessExternalEntities()Return whether XML external entities are allowed. -
supports
Description copied from class:AbstractHttpMessageConverter
Indicates whether the given class is supported by this converter.- Specified by:
supports
in classAbstractHttpMessageConverter<T extends Source>
- Parameters:
clazz
- the class to test for support- Returns:
true
if supported;false
otherwise
-
readInternal
protected 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 extends Source>
- 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
-
getContentLength
Description copied from class:AbstractHttpMessageConverter
Returns the content length for the given type.By default, this returns
null
, meaning that the content length is unknown. Can be overridden in subclasses.- Overrides:
getContentLength
in classAbstractHttpMessageConverter<T extends Source>
- Parameters:
t
- the type to return the content length for- Returns:
- the content length, or
null
if not known
-
writeInternal
protected 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 extends Source>
- 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
-
supportsRepeatableWrites
Description copied from class:AbstractHttpMessageConverter
Indicates whether this message converter can write the given object multiple times.The default implementation returns
false
.- Overrides:
supportsRepeatableWrites
in classAbstractHttpMessageConverter<T extends Source>
- Parameters:
t
- the object t- Returns:
true
ift
can be written repeatedly;false
otherwise
-