类 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>
- 所有已实现的接口:
GenericHttpMessageConverter<T>
,HttpMessageConverter<T>
public class Jaxb2CollectionHttpMessageConverter<T extends Collection> extends AbstractJaxb2HttpMessageConverter<T> implements GenericHttpMessageConverter<T>
AnHttpMessageConverter
that can read XML collections using JAXB2.This converter can read collections that contain classes annotated with
XmlRootElement
andXmlType
. Note that this converter does not support writing.- 从以下版本开始:
- 3.2
- 作者:
- Arjen Poutsma, Rossen Stoyanchev
字段概要
从类继承的字段 org.springframework.http.converter.AbstractHttpMessageConverter
logger
构造器概要
构造器 构造器 说明 Jaxb2CollectionHttpMessageConverter()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 boolean
canRead(Class<?> clazz, MediaType mediaType)
Always returnsfalse
since Jaxb2CollectionHttpMessageConverter required generic type information in order to read a Collection.boolean
canRead(Type type, Class<?> contextClass, MediaType mediaType)
Indicates whether the given type can be read by this converter.boolean
canWrite(Class<?> clazz, MediaType mediaType)
Always returnsfalse
since Jaxb2CollectionHttpMessageConverter does not convert collections to XML.boolean
canWrite(Type type, Class<?> clazz, MediaType mediaType)
Always returnsfalse
since Jaxb2CollectionHttpMessageConverter does not convert collections to XML.protected T
createCollection(Class<?> collectionClass)
Create a Collection of the given type, with the given initial capacity (if supported by the Collection type).protected XMLInputFactory
createXmlInputFactory()
Create aXMLInputFactory
that this converter will use to createXMLStreamReader
andXMLEventReader
objects.T
read(Type type, Class<?> contextClass, HttpInputMessage inputMessage)
Read an object of the given type form the given input message, and returns it.protected T
readFromSource(Class<? extends T> clazz, HttpHeaders headers, Source source)
Abstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage)
.protected boolean
supports(Class<?> clazz)
Indicates whether the given class is supported by this converter.void
write(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage)
Write an given object to the given output message.protected void
writeToResult(T t, HttpHeaders headers, Result result)
Abstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage)
.从类继承的方法 org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConverter
createMarshaller, createUnmarshaller, customizeMarshaller, customizeUnmarshaller, getJaxbContext
从类继承的方法 org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter
readInternal, transform, writeInternal
从类继承的方法 org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.springframework.http.converter.HttpMessageConverter
getSupportedMediaTypes, read, write
构造器详细资料
Jaxb2CollectionHttpMessageConverter
public Jaxb2CollectionHttpMessageConverter()
方法详细资料
canRead
public boolean canRead(Class<?> clazz, MediaType mediaType)
Always returnsfalse
since Jaxb2CollectionHttpMessageConverter required generic type information in order to read a Collection.- 指定者:
canRead
在接口中HttpMessageConverter<T extends Collection>
- 覆盖:
canRead
在类中AbstractHttpMessageConverter<T extends Collection>
- 参数:
clazz
- the class to test for readabilitymediaType
- the media type to read (can benull
if not specified); typically the value of aContent-Type
header.- 返回:
true
if readable;false
otherwise
canRead
public boolean canRead(Type type, Class<?> contextClass, MediaType mediaType)
Indicates whether the given type can be read by this converter. This method should perform the same checks thanHttpMessageConverter.canRead(Class, MediaType)
with additional ones related to the generic type.Jaxb2CollectionHttpMessageConverter can read a generic
Collection
where the generic type is a JAXB type annotated withXmlRootElement
orXmlType
.- 指定者:
canRead
在接口中GenericHttpMessageConverter<T extends Collection>
- 参数:
type
- the (potentially generic) type to test for readabilitycontextClass
- a context class for the target type, for example a class in which the target type appears in a method signature (can benull
)mediaType
- the media type to read, can benull
if not specified. Typically the value of aContent-Type
header.- 返回:
true
if readable;false
otherwise
canWrite
public boolean canWrite(Class<?> clazz, MediaType mediaType)
Always returnsfalse
since Jaxb2CollectionHttpMessageConverter does not convert collections to XML.- 指定者:
canWrite
在接口中HttpMessageConverter<T extends Collection>
- 覆盖:
canWrite
在类中AbstractHttpMessageConverter<T extends Collection>
- 参数:
clazz
- the class to test for writabilitymediaType
- the media type to write (can benull
if not specified); typically the value of anAccept
header.- 返回:
true
if writable;false
otherwise
canWrite
public boolean canWrite(Type type, Class<?> clazz, MediaType mediaType)
Always returnsfalse
since Jaxb2CollectionHttpMessageConverter does not convert collections to XML.- 指定者:
canWrite
在接口中GenericHttpMessageConverter<T extends Collection>
- 参数:
type
- the (potentially generic) type to test for writability (can benull
if not specified)clazz
- the source object class to test for writabilitymediaType
- the media type to write (can benull
if not specified); typically the value of anAccept
header.- 返回:
true
if writable;false
otherwise
supports
protected boolean supports(Class<?> clazz)
从类复制的说明:AbstractHttpMessageConverter
Indicates whether the given class is supported by this converter.- 指定者:
supports
在类中AbstractHttpMessageConverter<T extends Collection>
- 参数:
clazz
- the class to test for support- 返回:
true
if supported;false
otherwise
readFromSource
protected T readFromSource(Class<? extends T> clazz, HttpHeaders headers, Source source) throws IOException
从类复制的说明:AbstractXmlHttpMessageConverter
Abstract template method called fromAbstractHttpMessageConverter.read(Class, HttpInputMessage)
.- 指定者:
readFromSource
在类中AbstractXmlHttpMessageConverter<T extends Collection>
- 参数:
clazz
- the type of object to returnheaders
- the HTTP input headerssource
- the HTTP input body- 返回:
- the converted object
- 抛出:
IOException
- in case of I/O errors
read
public T read(Type type, Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
从接口复制的说明:GenericHttpMessageConverter
Read an object of the given type form the given input message, and returns it.- 指定者:
read
在接口中GenericHttpMessageConverter<T extends Collection>
- 参数:
type
- the (potentially generic) type of object to return. This type must have previously been passed to thecanRead
method of this interface, which must have returnedtrue
.contextClass
- a context class for the target type, for example a class in which the target type appears in a method signature (can benull
)inputMessage
- the HTTP input message to read from- 返回:
- the converted object
- 抛出:
IOException
- in case of I/O errorsHttpMessageNotReadableException
- in case of conversion errors
createCollection
protected T createCollection(Class<?> collectionClass)
Create a Collection of the given type, with the given initial capacity (if supported by the Collection type).- 参数:
collectionClass
- the type of Collection to instantiate- 返回:
- the created Collection instance
write
public void write(T t, Type type, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
从接口复制的说明:GenericHttpMessageConverter
Write an given object to the given output message.- 指定者:
write
在接口中GenericHttpMessageConverter<T extends Collection>
- 参数:
t
- the object to write to the output message. The type of this object must have previously been passed to thecanWrite
method of this interface, which must have returnedtrue
.type
- the (potentially generic) type of object to write. This type must have previously been passed to thecanWrite
method of this interface, which must have returnedtrue
. Can benull
if not specified.contentType
- the content type to use when writing. May benull
to indicate that the default content type of the converter must be used. If notnull
, this media type must have previously been passed to thecanWrite
method of this interface, which must have returnedtrue
.outputMessage
- the message to write to- 抛出:
IOException
- in case of I/O errorsHttpMessageNotWritableException
- in case of conversion errors
writeToResult
protected void writeToResult(T t, HttpHeaders headers, Result result) throws IOException
从类复制的说明:AbstractXmlHttpMessageConverter
Abstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage)
.- 指定者:
writeToResult
在类中AbstractXmlHttpMessageConverter<T extends Collection>
- 参数:
t
- the object to write to the output messageheaders
- the HTTP output headersresult
- the HTTP output body- 抛出:
IOException
- in case of I/O errors
createXmlInputFactory
protected XMLInputFactory createXmlInputFactory()
Create aXMLInputFactory
that this converter will use to createXMLStreamReader
andXMLEventReader
objects.Can be overridden in subclasses, adding further initialization of the factory. The resulting factory is cached, so this method will only be called once.