Class Jaxb2RootElementHttpMessageConverter
- java.lang.Object
- org.springframework.http.converter.AbstractHttpMessageConverter<T>
- org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter<T>
- org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConverter<Object>
- org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter
- All Implemented Interfaces:
HttpMessageConverter<Object>
public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessageConverter<Object>
Implementation ofHttpMessageConverterthat can read and write XML using JAXB2.This converter can read classes annotated with
XmlRootElementandXmlType, and write classes annotated withXmlRootElement, or subclasses thereof.Note: When using Spring's Marshaller/Unmarshaller abstractions from
spring-oxm, you should use theMarshallingHttpMessageConverterinstead.- Since:
- 3.0
- Author:
- Arjen Poutsma, Sebastien Deleuze, Rossen Stoyanchev
- See Also:
MarshallingHttpMessageConverter
Field Summary
Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
logger
Constructor Summary
Constructors Constructor Description Jaxb2RootElementHttpMessageConverter()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanRead(Class<?> clazz, MediaType mediaType)This implementation checks if the given class is supported, and if the supported media typesinclude the given media type.booleancanWrite(Class<?> clazz, MediaType mediaType)booleanisProcessExternalEntities()Return whether XML external entities are allowed.booleanisSupportDtd()Return whether DTD parsing is supported.protected SourceprocessSource(Source source)protected ObjectreadFromSource(Class<?> clazz, HttpHeaders headers, Source source)Abstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage).voidsetProcessExternalEntities(boolean processExternalEntities)Indicate whether external XML entities are processed when converting to a Source.voidsetSupportDtd(boolean supportDtd)Indicate whether DTD parsing should be supported.protected booleansupports(Class<?> clazz)Indicates whether the given class is supported by this converter.protected voidwriteToResult(Object o, HttpHeaders headers, Result result)Abstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage).Methods inherited from class org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConverter
createMarshaller, createUnmarshaller, customizeMarshaller, customizeUnmarshaller, getJaxbContext
Methods inherited from class org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter
readInternal, transform, writeInternal
Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
Constructor Detail
Jaxb2RootElementHttpMessageConverter
public Jaxb2RootElementHttpMessageConverter()
Method Detail
setSupportDtd
public void setSupportDtd(boolean supportDtd)
Indicate whether DTD parsing should be supported.Default is
falsemeaning 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
truealso automatically setssetSupportDtd(boolean)totrue.
isProcessExternalEntities
public boolean isProcessExternalEntities()
Return whether XML external entities are allowed.
canRead
public boolean canRead(Class<?> clazz, MediaType mediaType)
Description copied from class:AbstractHttpMessageConverterThis implementation checks if the given class is supported, and if the supported media typesinclude the given media type.- Specified by:
canReadin interfaceHttpMessageConverter<Object>- Overrides:
canReadin classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the class to test for readabilitymediaType- the media type to read (can benullif not specified); typically the value of aContent-Typeheader.- Returns:
trueif readable;falseotherwise
canWrite
public boolean canWrite(Class<?> clazz, MediaType mediaType)
Description copied from class:AbstractHttpMessageConverterThis implementation checks if the given class is supported, and if the supported media types include the given media type.- Specified by:
canWritein interfaceHttpMessageConverter<Object>- Overrides:
canWritein classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the class to test for writabilitymediaType- the media type to write (can benullif not specified); typically the value of anAcceptheader.- Returns:
trueif writable;falseotherwise
supports
protected boolean supports(Class<?> clazz)
Description copied from class:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Specified by:
supportsin classAbstractHttpMessageConverter<Object>- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
readFromSource
protected Object readFromSource(Class<?> clazz, HttpHeaders headers, Source source) throws IOException
Description copied from class:AbstractXmlHttpMessageConverterAbstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage).- Specified by:
readFromSourcein classAbstractXmlHttpMessageConverter<Object>- Parameters:
clazz- the type of object to returnheaders- the HTTP input headerssource- the HTTP input body- Returns:
- the converted object
- Throws:
IOException- in case of I/O errors
processSource
protected Source processSource(Source source)
writeToResult
protected void writeToResult(Object o, HttpHeaders headers, Result result) throws IOException
Description copied from class:AbstractXmlHttpMessageConverterAbstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage).- Specified by:
writeToResultin classAbstractXmlHttpMessageConverter<Object>- Parameters:
o- the object to write to the output messageheaders- the HTTP output headersresult- the HTTP output body- Throws:
IOException- in case of I/O errors