public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessageConverter<Object>
HttpMessageConverter
that can read and write XML using JAXB2.
This converter can read classes annotated with XmlRootElement and XmlType,
and write classes annotated with with XmlRootElement, or subclasses thereof.
logger| Constructor and Description |
|---|
Jaxb2RootElementHttpMessageConverter() |
| 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.
|
boolean |
isProcessExternalEntities()
Returns the configured value for whether XML external entities are allowed.
|
boolean |
isSupportDtd()
Whether DTD parsing is supported.
|
protected Source |
processSource(Source source) |
protected Object |
readFromSource(Class<?> clazz,
HttpHeaders headers,
Source source)
Abstract template method called from
AbstractHttpMessageConverter.read(Class, HttpInputMessage). |
void |
setProcessExternalEntities(boolean processExternalEntities)
Indicates whether external XML entities are processed when converting to a Source.
|
void |
setSupportDtd(boolean supportDtd)
Indicates whether DTD parsing should be supported.
|
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). |
createMarshaller, createUnmarshaller, getJaxbContextreadInternal, transform, writeInternalcanRead, canWrite, getContentLength, getDefaultContentType, getSupportedMediaTypes, read, setSupportedMediaTypes, writepublic Jaxb2RootElementHttpMessageConverter()
public void setSupportDtd(boolean supportDtd)
Default is false meaning that DTD is disabled.
public boolean isSupportDtd()
public void setProcessExternalEntities(boolean processExternalEntities)
Default is false, meaning that external entities are not resolved.
Note: setting this option to true also
automatically sets setSupportDtd(boolean) to true.
public boolean isProcessExternalEntities()
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