Class Jaxb2CollectionHttpMessageConverter<T extends Collection>
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<T>
org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter<T>
org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConverter<T>
org.springframework.http.converter.xml.Jaxb2CollectionHttpMessageConverter<T>
- Type Parameters:
- T- the converted object type
- All Implemented Interfaces:
- GenericHttpMessageConverter<T>,- HttpMessageConverter<T>
public class Jaxb2CollectionHttpMessageConverter<T extends Collection>
extends AbstractJaxb2HttpMessageConverter<T>
implements GenericHttpMessageConverter<T>
An 
HttpMessageConverter that can read XML collections using JAXB2.
 This converter can read collections that contain classes
 annotated with XmlRootElement and XmlType. Note that this converter
 does not support writing.
- Since:
- 3.2
- Author:
- Arjen Poutsma, Rossen Stoyanchev, Sam Brannen
- 
Field SummaryFields inherited from class org.springframework.http.converter.AbstractHttpMessageConverterlogger
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbooleanAlways returnsfalsesince Jaxb2CollectionHttpMessageConverter required generic type information in order to read a Collection.booleanIndicates whether the given type can be read by this converter.booleanAlways returnsfalsesince Jaxb2CollectionHttpMessageConverter does not convert collections to XML.booleanAlways returnsfalsesince Jaxb2CollectionHttpMessageConverter does not convert collections to XML.protected TcreateCollection(Class<?> collectionClass) Create a Collection of the given type, with the given initial capacity (if supported by the Collection type).protected XMLInputFactoryCreate anXMLInputFactorythat this converter will use to createXMLStreamReaderandXMLEventReaderobjects.read(Type type, Class<?> contextClass, HttpInputMessage inputMessage) Read an object of the given type form the given input message, and returns it.protected TreadFromSource(Class<? extends T> clazz, HttpHeaders headers, Source source) Abstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage).protected booleanIndicates whether the given class is supported by this converter.voidwrite(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage) Write a given object to the given output message.protected voidwriteToResult(T t, HttpHeaders headers, Result result) Abstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage).Methods inherited from class org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConvertercreateMarshaller, createUnmarshaller, customizeMarshaller, customizeUnmarshaller, getJaxbContextMethods inherited from class org.springframework.http.converter.xml.AbstractXmlHttpMessageConverterreadInternal, transform, writeInternalMethods inherited from class org.springframework.http.converter.AbstractHttpMessageConverteraddDefaultHeaders, canRead, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writeMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.http.converter.HttpMessageConvertergetSupportedMediaTypes, getSupportedMediaTypes, read, write
- 
Constructor Details- 
Jaxb2CollectionHttpMessageConverterpublic Jaxb2CollectionHttpMessageConverter()
 
- 
- 
Method Details- 
canReadAlways returnsfalsesince Jaxb2CollectionHttpMessageConverter required generic type information in order to read a Collection.- Specified by:
- canReadin interface- HttpMessageConverter<T extends Collection>
- Overrides:
- canReadin class- AbstractHttpMessageConverter<T extends Collection>
- Parameters:
- clazz- the class to test for readability
- mediaType- the media type to read (can be- nullif not specified); typically the value of a- Content-Typeheader.
- Returns:
- trueif readable;- falseotherwise
 
- 
canReadIndicates whether the given type can be read by this converter. This method should perform the same checks asHttpMessageConverter.canRead(Class, MediaType)with additional ones related to the generic type.Jaxb2CollectionHttpMessageConverter can read a generic Collectionwhere the generic type is a JAXB type annotated withXmlRootElementorXmlType.- Specified by:
- canReadin interface- GenericHttpMessageConverter<T extends Collection>
- Parameters:
- type- the (potentially generic) type to test for readability
- contextClass- a context class for the target type, for example a class in which the target type appears in a method signature (can be- null)
- mediaType- the media type to read, can be- nullif not specified. Typically, the value of a- Content-Typeheader.
- Returns:
- trueif readable;- falseotherwise
 
- 
canWriteAlways returnsfalsesince Jaxb2CollectionHttpMessageConverter does not convert collections to XML.- Specified by:
- canWritein interface- HttpMessageConverter<T extends Collection>
- Overrides:
- canWritein class- AbstractHttpMessageConverter<T extends Collection>
- Parameters:
- clazz- the class to test for writability
- mediaType- the media type to write (can be- nullif not specified); typically the value of an- Acceptheader.
- Returns:
- trueif writable;- falseotherwise
 
- 
canWritepublic boolean canWrite(@Nullable Type type, @Nullable Class<?> clazz, @Nullable MediaType mediaType) Always returnsfalsesince Jaxb2CollectionHttpMessageConverter does not convert collections to XML.- Specified by:
- canWritein interface- GenericHttpMessageConverter<T extends Collection>
- Parameters:
- type- the (potentially generic) type to test for writability (can be- nullif not specified)
- clazz- the source object class to test for writability
- mediaType- the media type to write (can be- nullif not specified); typically the value of an- Acceptheader.
- Returns:
- trueif writable;- falseotherwise
 
- 
supportsDescription copied from class:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Specified by:
- supportsin class- AbstractHttpMessageConverter<T extends Collection>
- Parameters:
- clazz- the class to test for support
- Returns:
- trueif supported;- falseotherwise
 
- 
readFromSourceprotected T readFromSource(Class<? extends T> clazz, HttpHeaders headers, Source source) throws Exception Description copied from class:AbstractXmlHttpMessageConverterAbstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage).- Specified by:
- readFromSourcein class- AbstractXmlHttpMessageConverter<T extends Collection>
- Parameters:
- clazz- the type of object to return
- headers- the HTTP input headers
- source- the HTTP input body
- Returns:
- the converted object
- Throws:
- Exception- in case of I/O or conversion errors
 
- 
readpublic T read(Type type, @Nullable Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Description copied from interface:GenericHttpMessageConverterRead an object of the given type form the given input message, and returns it.- Specified by:
- readin interface- GenericHttpMessageConverter<T extends Collection>
- Parameters:
- type- the (potentially generic) type of object to return. This type must have previously been passed to the- canReadmethod of this interface, which must have returned- true.
- contextClass- a context class for the target type, for example a class in which the target type appears in a method signature (can be- null)
- inputMessage- the HTTP input message to read from
- Returns:
- the converted object
- Throws:
- IOException- in case of I/O errors
- HttpMessageNotReadableException- in case of conversion errors
 
- 
createCollectionCreate a Collection of the given type, with the given initial capacity (if supported by the Collection type).- Parameters:
- collectionClass- the type of Collection to instantiate
- Returns:
- the created Collection instance
 
- 
writepublic void write(T t, @Nullable Type type, @Nullable MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException Description copied from interface:GenericHttpMessageConverterWrite a given object to the given output message.- Specified by:
- writein interface- GenericHttpMessageConverter<T extends Collection>
- Parameters:
- t- the object to write to the output message. The type of this object must have previously been passed to the- canWritemethod of this interface, which must have returned- true.
- type- the (potentially generic) type of object to write. This type must have previously been passed to the- canWritemethod of this interface, which must have returned- true. Can be- nullif not specified.
- contentType- the content type to use when writing. May be- nullto indicate that the default content type of the converter must be used. If not- null, this media type must have previously been passed to the- canWritemethod of this interface, which must have returned- true.
- outputMessage- the message to write to
- Throws:
- IOException- in case of I/O errors
- HttpMessageNotWritableException- in case of conversion errors
 
- 
writeToResultDescription copied from class:AbstractXmlHttpMessageConverterAbstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage).- Specified by:
- writeToResultin class- AbstractXmlHttpMessageConverter<T extends Collection>
- Parameters:
- t- the object to write to the output message
- headers- the HTTP output headers
- result- the HTTP output body
- Throws:
- Exception- in case of I/O or conversion errors
 
- 
createXmlInputFactoryCreate anXMLInputFactorythat this converter will use to createXMLStreamReaderandXMLEventReaderobjects.Can be overridden in subclasses, adding further initialization of the factory. The resulting factory is cached, so this method will only be called once. - See Also:
 
 
-