类 Jaxb2CollectionHttpMessageConverter<T extends Collection>
java.lang.Object
cn.taketoday.http.converter.AbstractHttpMessageConverter<T>
cn.taketoday.http.converter.xml.AbstractXmlHttpMessageConverter<T>
cn.taketoday.http.converter.xml.AbstractJaxb2HttpMessageConverter<T>
cn.taketoday.http.converter.xml.Jaxb2CollectionHttpMessageConverter<T>
- 类型参数:
T- the converted object type
- 所有已实现的接口:
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.
- 从以下版本开始:
- 4.0
- 作者:
- Arjen Poutsma, Rossen Stoyanchev, Sam Brannen
-
字段概要
字段从类继承的字段 cn.taketoday.http.converter.AbstractHttpMessageConverter
logger -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明booleanAlways 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.private intmoveToFirstChildOfRootElement(XMLStreamReader streamReader) private intmoveToNextElement(XMLStreamReader streamReader) 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 an given object to the given output message.protected voidwriteToResult(T t, HttpHeaders headers, Result result) Abstract template method called fromAbstractXmlHttpMessageConverter.writeInternal(Object, HttpOutputMessage).从类继承的方法 cn.taketoday.http.converter.xml.AbstractJaxb2HttpMessageConverter
createMarshaller, createUnmarshaller, customizeMarshaller, customizeUnmarshaller, getJaxbContext从类继承的方法 cn.taketoday.http.converter.xml.AbstractXmlHttpMessageConverter
readInternal, transform, writeInternal从类继承的方法 cn.taketoday.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从接口继承的方法 cn.taketoday.http.converter.HttpMessageConverter
getSupportedMediaTypes, getSupportedMediaTypes, read, write
-
字段详细资料
-
inputFactory
-
-
构造器详细资料
-
Jaxb2CollectionHttpMessageConverter
public Jaxb2CollectionHttpMessageConverter()
-
-
方法详细资料
-
canRead
Always returnsfalsesince 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 benullif not specified); typically the value of aContent-Typeheader.- 返回:
trueif readable;falseotherwise
-
canRead
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
Collectionwhere the generic type is a JAXB type annotated withXmlRootElementorXmlType.- 指定者:
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 benullif not specified. Typically the value of aContent-Typeheader.- 返回:
trueif readable;falseotherwise
-
canWrite
Always returnsfalsesince 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 benullif not specified); typically the value of anAcceptheader.- 返回:
trueif writable;falseotherwise
-
canWrite
public boolean canWrite(@Nullable Type type, @Nullable Class<?> clazz, @Nullable MediaType mediaType) Always returnsfalsesince Jaxb2CollectionHttpMessageConverter does not convert collections to XML.- 指定者:
canWrite在接口中GenericHttpMessageConverter<T extends Collection>- 参数:
type- the (potentially generic) type to test for writability (can benullif not specified)clazz- the source object class to test for writabilitymediaType- the media type to write (can benullif not specified); typically the value of anAcceptheader.- 返回:
trueif writable;falseotherwise
-
supports
从类复制的说明:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- 指定者:
supports在类中AbstractHttpMessageConverter<T extends Collection>- 参数:
clazz- the class to test for support- 返回:
trueif supported;falseotherwise
-
readFromSource
protected T readFromSource(Class<? extends T> clazz, HttpHeaders headers, Source source) throws Exception 从类复制的说明:AbstractXmlHttpMessageConverterAbstract 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
- 抛出:
Exception- in case of I/O or conversion errors
-
read
public T read(Type type, @Nullable Class<?> contextClass, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException 从接口复制的说明:GenericHttpMessageConverterRead 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 thecanReadmethod 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
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
-
moveToFirstChildOfRootElement
-
moveToNextElement
-
write
public void write(T t, @Nullable Type type, @Nullable MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException 从接口复制的说明:GenericHttpMessageConverterWrite 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 thecanWritemethod of this interface, which must have returnedtrue.type- the (potentially generic) type of object to write. This type must have previously been passed to thecanWritemethod of this interface, which must have returnedtrue. Can benullif not specified.contentType- the content type to use when writing. May benullto indicate that the default content type of the converter must be used. If notnull, this media type must have previously been passed to thecanWritemethod 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
从类复制的说明:AbstractXmlHttpMessageConverterAbstract 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- 抛出:
Exception- in case of I/O or conversion errors
-
createXmlInputFactory
Create 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.
- 另请参阅:
-
StaxUtils.createDefensiveInputFactory()
-