public abstract class AbstractRootElementJaxbProvider extends AbstractJaxbProvider<java.lang.Object>
XmlRootElement
or XmlType
.
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).
UTF8
Constructor and Description |
---|
AbstractRootElementJaxbProvider(javax.ws.rs.ext.Providers providers)
Inheritance constructor.
|
AbstractRootElementJaxbProvider(javax.ws.rs.ext.Providers providers,
javax.ws.rs.core.MediaType resolverMediaType)
Inheritance constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
isReadable(java.lang.Class<?> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType) |
boolean |
isWriteable(java.lang.Class<?> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType) |
protected java.lang.Object |
readFrom(java.lang.Class<java.lang.Object> type,
javax.ws.rs.core.MediaType mediaType,
javax.xml.bind.Unmarshaller u,
java.io.InputStream entityStream)
Unmarshal a JAXB type.
|
java.lang.Object |
readFrom(java.lang.Class<java.lang.Object> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType,
javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> httpHeaders,
java.io.InputStream inputStream) |
void |
writeTo(java.lang.Object t,
java.lang.Class<?> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType,
javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> httpHeaders,
java.io.OutputStream entityStream) |
protected void |
writeTo(java.lang.Object t,
javax.ws.rs.core.MediaType mediaType,
java.nio.charset.Charset c,
javax.xml.bind.Marshaller m,
java.io.OutputStream entityStream)
Marshal an instance of a JAXB type.
|
getMarshaller, getSAXSource, getStoredJaxbContext, getUnmarshaller, isFormattedOutput, isSupported, isXmlRootElementProcessing, setConfiguration, setHeader
getCharset, getSize, readFromAsString, writeTo, writeTo, writeToAsString
public AbstractRootElementJaxbProvider(javax.ws.rs.ext.Providers providers)
providers
- JAX-RS providers.public AbstractRootElementJaxbProvider(javax.ws.rs.ext.Providers providers, javax.ws.rs.core.MediaType resolverMediaType)
providers
- JAX-RS providers.resolverMediaType
- JAXB component context resolver media type to be used.public boolean isReadable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)
public boolean isWriteable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)
public final java.lang.Object readFrom(java.lang.Class<java.lang.Object> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> httpHeaders, java.io.InputStream inputStream) throws java.io.IOException
java.io.IOException
protected java.lang.Object readFrom(java.lang.Class<java.lang.Object> type, javax.ws.rs.core.MediaType mediaType, javax.xml.bind.Unmarshaller u, java.io.InputStream entityStream) throws javax.xml.bind.JAXBException
Implementing classes may override this method.
type
- the JAXB typemediaType
- the media typeu
- the unmarshaller to use for unmarshalling.entityStream
- the input stream to unmarshal from.javax.xml.bind.JAXBException
- in case the JAXB unmarshalling fails.public final void writeTo(java.lang.Object t, java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> httpHeaders, java.io.OutputStream entityStream) throws java.io.IOException
java.io.IOException
protected void writeTo(java.lang.Object 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
Implementing classes may override this method.
t
- the instance of the JAXB type.mediaType
- the media type.c
- the character set to serialize characters to.m
- the marshaller to marshaller the instance of the JAXB type.entityStream
- the output stream to marshal to.javax.xml.bind.JAXBException
- in case the JAXB marshalling fails.