Class JAXBElementProvider

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

    @Provider
    @Produces({"application/xml","application/*+xml","text/xml","text/*+xml"})
    @Consumes({"application/xml","application/*+xml","text/xml","text/*+xml"})
    public class JAXBElementProvider
    extends AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>

    A JAXB Provider which handles parameter and return types of JAXBElement. This provider will be selected when the resource is declared as:

    @POST
    @Consumes("applictaion/xml")
    @Produces("applictaion/xml")
    public JAXBElement<Contact> getContact(JAXBElement<Contact> value);
    Version:
    $Revision:$
    • Constructor Detail

      • JAXBElementProvider

        public JAXBElementProvider()
    • Method Detail

      • isReadWritable

        protected boolean isReadWritable​(java.lang.Class<?> type,
                                         java.lang.reflect.Type genericType,
                                         java.lang.annotation.Annotation[] annotations,
                                         javax.ws.rs.core.MediaType mediaType)
        Description copied from class: AbstractJAXBProvider
        FIXME Comment this
        Specified by:
        isReadWritable in class AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>
        Returns:
      • readFrom

        public 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
        Specified by:
        readFrom in interface javax.ws.rs.ext.MessageBodyReader<javax.xml.bind.JAXBElement<?>>
        Overrides:
        readFrom in class AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>
        Throws:
        java.io.IOException
      • writeTo

        public 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 outputStream)
                     throws java.io.IOException
        Specified by:
        writeTo in interface javax.ws.rs.ext.MessageBodyWriter<javax.xml.bind.JAXBElement<?>>
        Overrides:
        writeTo in class AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>
        Throws:
        java.io.IOException