Class AbstractJaxbElementProvider
java.lang.Object
org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider<JAXBElement<?>>
org.glassfish.jersey.jaxb.internal.AbstractJaxbProvider<JAXBElement<?>>
org.glassfish.jersey.jaxb.internal.AbstractJaxbElementProvider
- All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<JAXBElement<?>>, javax.ws.rs.ext.MessageBodyWriter<JAXBElement<?>>
- Direct Known Subclasses:
XmlJaxbElementProvider
An abstract provider for
JAXBElement.
Implementing classes may extend this class to provide specific marshalling
and unmarshalling behaviour.
When unmarshalling a UnmarshalException will result in a
WebApplicationException being thrown with a status of 400
(Client error), and a JAXBException will result in a
WebApplicationException being thrown with a status of 500
(Internal Server error).
When marshalling a JAXBException will result in a
WebApplicationException being thrown with a status of 500
(Internal Server error).-
Field Summary
Fields inherited from class AbstractMessageReaderWriterProvider
UTF8 -
Constructor Summary
ConstructorsConstructorDescriptionAbstractJaxbElementProvider(javax.ws.rs.ext.Providers providers) Inheritance constructor.AbstractJaxbElementProvider(javax.ws.rs.ext.Providers providers, javax.ws.rs.core.MediaType resolverMediaType) Inheritance constructor. -
Method Summary
Modifier and TypeMethodDescriptionbooleanisReadable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType) booleanisWriteable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType) protected abstract JAXBElement<?> readFrom(Class<?> type, javax.ws.rs.core.MediaType mediaType, Unmarshaller unmarshaller, InputStream entityStream) Read JAXB element from an entity stream.final JAXBElement<?> readFrom(Class<JAXBElement<?>> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String, String> httpHeaders, InputStream inputStream) final voidwriteTo(JAXBElement<?> t, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) protected abstract voidwriteTo(JAXBElement<?> element, javax.ws.rs.core.MediaType mediaType, Charset charset, Marshaller marshaller, OutputStream entityStream) Write JAXB element to an entity stream.Methods inherited from class AbstractJaxbProvider
getMarshaller, getSAXSource, getStoredJaxbContext, getUnmarshaller, isFormattedOutput, isSupported, isXmlRootElementProcessing, setConfiguration, setHeaderMethods inherited from class AbstractMessageReaderWriterProvider
getCharset, getSize, readFromAsString, writeTo, writeTo, writeToAsString
-
Constructor Details
-
AbstractJaxbElementProvider
public AbstractJaxbElementProvider(javax.ws.rs.ext.Providers providers) Inheritance constructor.- Parameters:
providers- JAX-RS providers.
-
AbstractJaxbElementProvider
public AbstractJaxbElementProvider(javax.ws.rs.ext.Providers providers, javax.ws.rs.core.MediaType resolverMediaType) Inheritance constructor.- Parameters:
providers- JAX-RS providers.resolverMediaType- JAXB component context resolver media type to be used.
-
-
Method Details
-
isReadable
public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType) -
isWriteable
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType) -
readFrom
public final JAXBElement<?> readFrom(Class<JAXBElement<?>> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String, String> httpHeaders, InputStream inputStream) throws IOException- Throws:
IOException
-
readFrom
protected abstract JAXBElement<?> readFrom(Class<?> type, javax.ws.rs.core.MediaType mediaType, Unmarshaller unmarshaller, InputStream entityStream) throws JAXBException Read JAXB element from an entity stream.- 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- theInputStreamof 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:
JAXBException- in case entity unmarshalling fails.
-
writeTo
public final void writeTo(JAXBElement<?> t, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException- Throws:
IOException
-
writeTo
protected abstract void writeTo(JAXBElement<?> element, javax.ws.rs.core.MediaType mediaType, Charset charset, Marshaller marshaller, OutputStream entityStream) throws JAXBException Write JAXB element to an entity stream.- Parameters:
element- JAXB element to be written to an entity stream.mediaType- the media type of the HTTP entity.charset- character set to be used.marshaller- JAXB unmarshaller to be used.entityStream- theInputStreamof 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:
JAXBException- in case entity marshalling fails.
-