com.sun.jersey.core.provider.jaxb
Class AbstractListElementProvider
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.AbstractListElementProvider
- All Implemented Interfaces:
- javax.ws.rs.ext.MessageBodyReader<java.lang.Object>, javax.ws.rs.ext.MessageBodyWriter<java.lang.Object>
- Direct Known Subclasses:
- FastInfosetListElementProvider, JSONListElementProvider, XMLListElementProvider
public abstract class AbstractListElementProvider
- extends AbstractJAXBProvider<java.lang.Object>
An abstract provider for T[]
, Collection<T>
,
or List<T>
where T
is a JAXB types annotated with
XmlRootElement
.
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 |
protected java.lang.Class |
getElementClass(java.lang.Class<?> type,
java.lang.reflect.Type genericType)
|
protected java.lang.String |
getRootElementName(java.lang.Class<?> elementType)
|
protected abstract javax.xml.stream.XMLStreamReader |
getXMLStreamReader(java.lang.Class<?> elementType,
javax.ws.rs.core.MediaType mediaType,
javax.xml.bind.Unmarshaller unmarshaller,
java.io.InputStream entityStream)
Get the XMLStreamReader for unmarshalling. |
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)
|
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)
|
abstract void |
writeList(java.lang.Class<?> elementType,
java.util.Collection<?> t,
javax.ws.rs.core.MediaType mediaType,
java.nio.charset.Charset c,
javax.xml.bind.Marshaller m,
java.io.OutputStream entityStream)
Write a collection of JAXB objects as child elements of the root element. |
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractListElementProvider
public AbstractListElementProvider(javax.ws.rs.ext.Providers ps)
AbstractListElementProvider
public AbstractListElementProvider(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)
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
writeList
public abstract void writeList(java.lang.Class<?> elementType,
java.util.Collection<?> 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,
java.io.IOException
- Write a collection of JAXB objects as child elements of the root element.
- Parameters:
elementType
- the element type in the collection.t
- the collecton to marshallmediaType
- the media typec
- the charsetm
- the marshallerentityStream
- the output stream to marshall the collection
- Throws:
javax.xml.bind.JAXBException
java.io.IOException
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
getXMLStreamReader
protected abstract javax.xml.stream.XMLStreamReader getXMLStreamReader(java.lang.Class<?> elementType,
javax.ws.rs.core.MediaType mediaType,
javax.xml.bind.Unmarshaller unmarshaller,
java.io.InputStream entityStream)
throws javax.xml.stream.XMLStreamException
- Get the XMLStreamReader for unmarshalling.
- Parameters:
elementType
- the individual element type.mediaType
- the media type.unmarshaller
- the unmarshaller as a carrier of possible config options.entityStream
- the input stream.
- Returns:
- the XMLStreamReader.
- Throws:
javax.xml.stream.XMLStreamException
getElementClass
protected java.lang.Class getElementClass(java.lang.Class<?> type,
java.lang.reflect.Type genericType)
getRootElementName
protected final java.lang.String getRootElementName(java.lang.Class<?> elementType)
Copyright © 2011 Sun Microsystems, Inc. All Rights Reserved.