## com.sun.jersey.core.provider.jaxb
Class AbstractJAXBElementProvider

    java.lang.Object
      com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider<T>
          com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>
              com.sun.jersey.core.provider.jaxb.AbstractJAXBElementProvider

All Implemented Interfaces:
  javax.ws.rs.ext.MessageBodyReader<javax.xml.bind.JAXBElement<?>>, javax.ws.rs.ext.MessageBodyWriter<javax.xml.bind.JAXBElement<?>>

    public abstract class AbstractJAXBElementProvider

extends AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>

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).

Author:
  Paul.Sandoz@Sun.Com

Field Summary

Fields inherited from class com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider
`UTF8`

Constructor Summary
`AbstractJAXBElementProvider(javax.ws.rs.ext.Providers ps)`
`AbstractJAXBElementProvider(javax.ws.rs.ext.Providers ps, javax.ws.rs.core.MediaType mt)`

Method Summary
`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 abstract javax.xml.bind.JAXBElement<?>` `readFrom(java.lang.Class<?> type, javax.ws.rs.core.MediaType mediaType, javax.xml.bind.Unmarshaller u, java.io.InputStream entityStream)`
`javax.xml.bind.JAXBElement<?>` `readFrom(java.lang.Class<javax.xml.bind.JAXBElement<?>> 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 entityStream)`
`void` `writeTo(javax.xml.bind.JAXBElement<?> 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 abstract 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)`

Methods inherited from class com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider
`getJAXBContext, getMarshaller, getSAXSource, getStoredJAXBContext, getUnmarshaller, isFormattedOutput, isSupported, isXmlRootElementProcessing, setConfiguration, setHeader`

Methods inherited from class com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider
`getCharset, getSize, readFromAsString, writeTo, writeTo, writeToAsString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractJAXBElementProvider

    public AbstractJAXBElementProvider(javax.ws.rs.ext.Providers ps)

### AbstractJAXBElementProvider

    public AbstractJAXBElementProvider(javax.ws.rs.ext.Providers ps,
                                       javax.ws.rs.core.MediaType mt)

Method Detail

### isReadable

    public boolean isReadable(java.lang.Class<?> type,
                              java.lang.reflect.Type genericType,
                              java.lang.annotation.Annotation[] annotations,
                              javax.ws.rs.core.MediaType mediaType)

### isWriteable

    public boolean isWriteable(java.lang.Class<?> type,
                               java.lang.reflect.Type genericType,
                               java.lang.annotation.Annotation[] annotations,
                               javax.ws.rs.core.MediaType mediaType)

### readFrom

    public final javax.xml.bind.JAXBElement<?> readFrom(java.lang.Class<javax.xml.bind.JAXBElement<?>> 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 entityStream)
                                                 throws java.io.IOException

  Throws:
    `java.io.IOException`

### readFrom

    protected abstract javax.xml.bind.JAXBElement<?> readFrom(java.lang.Class<?> type,
                                                              javax.ws.rs.core.MediaType mediaType,
                                                              javax.xml.bind.Unmarshaller u,
                                                              java.io.InputStream entityStream)
                                                       throws javax.xml.bind.JAXBException

  Throws:
    `javax.xml.bind.JAXBException`

### writeTo

    public final void writeTo(javax.xml.bind.JAXBElement<?> 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

  Throws:
    `java.io.IOException`

### writeTo

    protected abstract 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

  Throws:
    `javax.xml.bind.JAXBException`

Copyright © 2017 Oracle Corporation. All Rights Reserved.