Class XmlJaxbElementProvider
- java.lang.Object
-
- org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider<T>
-
- org.glassfish.jersey.jaxb.internal.AbstractJaxbProvider<javax.xml.bind.JAXBElement<?>>
-
- org.glassfish.jersey.jaxb.internal.AbstractJaxbElementProvider
-
- org.glassfish.jersey.jaxb.internal.XmlJaxbElementProvider
-
- All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<javax.xml.bind.JAXBElement<?>>
,javax.ws.rs.ext.MessageBodyWriter<javax.xml.bind.JAXBElement<?>>
- Direct Known Subclasses:
XmlJaxbElementProvider.App
,XmlJaxbElementProvider.General
,XmlJaxbElementProvider.Text
public abstract class XmlJaxbElementProvider extends AbstractJaxbElementProvider
Base XML-based message body provider forJAXB element
instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
XmlJaxbElementProvider.App
Provider for marshalling/un-marshallingJAXB elements
from/to entities ofapplication/xml
media type.static class
XmlJaxbElementProvider.General
Provider for marshalling/un-marshallingJAXB elements
from/to entities of<type>/<sub-type>+xml
media types.static class
XmlJaxbElementProvider.Text
Provider for marshalling/un-marshallingJAXB elements
from/to entities oftext/xml
media type.
-
Field Summary
Fields Modifier and Type Field Description private javax.inject.Provider<javax.xml.parsers.SAXParserFactory>
spf
-
Fields inherited from class org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider
UTF8
-
-
Constructor Summary
Constructors Constructor Description XmlJaxbElementProvider(javax.inject.Provider<javax.xml.parsers.SAXParserFactory> spf, javax.ws.rs.ext.Providers ps)
XmlJaxbElementProvider(javax.inject.Provider<javax.xml.parsers.SAXParserFactory> spf, javax.ws.rs.ext.Providers ps, javax.ws.rs.core.MediaType mt)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.xml.bind.JAXBElement<?>
readFrom(java.lang.Class<?> type, javax.ws.rs.core.MediaType mediaType, javax.xml.bind.Unmarshaller unmarshaller, java.io.InputStream entityStream)
Read JAXB element from an entity stream.protected void
writeTo(javax.xml.bind.JAXBElement<?> t, javax.ws.rs.core.MediaType mediaType, java.nio.charset.Charset c, javax.xml.bind.Marshaller m, java.io.OutputStream entityStream)
Write JAXB element to an entity stream.-
Methods inherited from class org.glassfish.jersey.jaxb.internal.AbstractJaxbElementProvider
isReadable, isWriteable, readFrom, writeTo
-
Methods inherited from class org.glassfish.jersey.jaxb.internal.AbstractJaxbProvider
getMarshaller, getSAXSource, getStoredJaxbContext, getUnmarshaller, isFormattedOutput, isSupported, isXmlRootElementProcessing, setConfiguration, setHeader
-
Methods inherited from class org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider
getCharset, getSize, readFromAsString, writeTo, writeTo, writeToAsString
-
-
-
-
Constructor Detail
-
XmlJaxbElementProvider
public XmlJaxbElementProvider(javax.inject.Provider<javax.xml.parsers.SAXParserFactory> spf, javax.ws.rs.ext.Providers ps)
-
XmlJaxbElementProvider
public XmlJaxbElementProvider(javax.inject.Provider<javax.xml.parsers.SAXParserFactory> spf, javax.ws.rs.ext.Providers ps, javax.ws.rs.core.MediaType mt)
-
-
Method Detail
-
readFrom
protected final javax.xml.bind.JAXBElement<?> readFrom(java.lang.Class<?> type, javax.ws.rs.core.MediaType mediaType, javax.xml.bind.Unmarshaller unmarshaller, java.io.InputStream entityStream) throws javax.xml.bind.JAXBException
Description copied from class:AbstractJaxbElementProvider
Read JAXB element from an entity stream.- Specified by:
readFrom
in classAbstractJaxbElementProvider
- Parameters:
type
- the type that is to be read from the entity stream.mediaType
- the media type of the HTTP entity.unmarshaller
- JAXB unmarshaller to be used.entityStream
- theInputStream
of the HTTP entity. The caller is responsible for ensuring that the input stream ends when the entity has been consumed. The implementation should not close the input stream.- Returns:
- JAXB element representing the entity.
- Throws:
javax.xml.bind.JAXBException
- in case entity unmarshalling fails.
-
writeTo
protected final void writeTo(javax.xml.bind.JAXBElement<?> t, javax.ws.rs.core.MediaType mediaType, java.nio.charset.Charset c, javax.xml.bind.Marshaller m, java.io.OutputStream entityStream) throws javax.xml.bind.JAXBException
Description copied from class:AbstractJaxbElementProvider
Write JAXB element to an entity stream.- Specified by:
writeTo
in classAbstractJaxbElementProvider
- Parameters:
t
- JAXB element to be written to an entity stream.mediaType
- the media type of the HTTP entity.c
- character set to be used.m
- JAXB unmarshaller to be used.entityStream
- theInputStream
of the HTTP entity. The caller is responsible for ensuring that the input stream ends when the entity has been consumed. The implementation should not close the input stream.- Throws:
javax.xml.bind.JAXBException
- in case entity marshalling fails.
-
-