com.sun.jersey.core.provider.jaxb
Class AbstractRootElementProvider
java.lang.Object
com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider<T>
com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider<java.lang.Object>
com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider
- All Implemented Interfaces:
- javax.ws.rs.ext.MessageBodyReader<java.lang.Object>, javax.ws.rs.ext.MessageBodyWriter<java.lang.Object>
- Direct Known Subclasses:
- FastInfosetRootElementProvider, JSONRootElementProvider, XMLRootElementProvider
public abstract class AbstractRootElementProvider
- extends AbstractJAXBProvider<java.lang.Object>
An abstract provider for JAXB types that are annotated with
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).
- Author:
- Paul.Sandoz@Sun.Com
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 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 entityStream)
|
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractRootElementProvider
public AbstractRootElementProvider(javax.ws.rs.ext.Providers ps)
AbstractRootElementProvider
public AbstractRootElementProvider(javax.ws.rs.ext.Providers ps,
javax.ws.rs.core.MediaType mt)
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 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 entityStream)
throws java.io.IOException
- Throws:
java.io.IOException
readFrom
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
- Unmarshal a JAXB type.
Implementing classes may override this method.
- Parameters:
type
- the JAXB typemediaType
- the media typeu
- the unmarshaller to use for unmarshalling.entityStream
- the input stream to unmarshal from.
- Returns:
- an instance of the JAXB type.
- Throws:
javax.xml.bind.JAXBException
java.io.IOException
writeTo
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
- Throws:
java.io.IOException
writeTo
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
- Marshal an instance of a JAXB type.
Implementing classes may override this method.
- Parameters:
t
- the instance of the JAXB type.mediaType
- the meida 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.
- Throws:
javax.xml.bind.JAXBException
java.io.IOException
Copyright © 2011 Sun Microsystems, Inc. All Rights Reserved.