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

java.lang.Object
  extended by com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider<T>
      extended by com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider<javax.xml.bind.JAXBElement<?>>
          extended by com.sun.jersey.core.provider.jaxb.AbstractJAXBElementProvider
All Implemented Interfaces:
MessageBodyReader<javax.xml.bind.JAXBElement<?>>, 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(Providers ps)
           
AbstractJAXBElementProvider(Providers ps, MediaType mt)
           
 
Method Summary
 boolean isReadable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, MediaType mediaType)
           
 boolean isWriteable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, MediaType mediaType)
           
protected abstract  javax.xml.bind.JAXBElement<?> readFrom(java.lang.Class<?> type, 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, MediaType mediaType, 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, MediaType mediaType, MultivaluedMap<java.lang.String,java.lang.Object> httpHeaders, java.io.OutputStream entityStream)
           
protected abstract  void writeTo(javax.xml.bind.JAXBElement<?> t, 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
getFormattedOutput, getMarshaller, getSAXSource, getStoredJAXBContext, getUnmarshaller, isSupported, setConfiguration
 
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(Providers ps)

AbstractJAXBElementProvider

public AbstractJAXBElementProvider(Providers ps,
                                   MediaType mt)
Method Detail

isReadable

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

isWriteable

public boolean isWriteable(java.lang.Class<?> type,
                           java.lang.reflect.Type genericType,
                           java.lang.annotation.Annotation[] annotations,
                           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,
                                                    MediaType mediaType,
                                                    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,
                                                          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,
                          MediaType mediaType,
                          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,
                                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 © 2010 Sun Microsystems, Inc. All Rights Reserved.