|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sun.jersey.core.provider.AbstractMessageReaderWriterProvider<T>
com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider<java.lang.Object>
com.sun.jersey.core.provider.jaxb.AbstractListElementProvider
public abstract class AbstractListElementProvider
An abstract provider for T[], Collection<T>,
and its subtypes as long as they have the public default constructor or
are interfaces implemented by one the following classes:
ArrayListLinkedListHashSetTreeSetStackT must be a JAXB type 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).
| Nested Class Summary | |
|---|---|
static interface |
AbstractListElementProvider.JaxbTypeChecker
This is to allow customized JAXB collections checking. |
| Field Summary |
|---|
| Fields inherited from class com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider |
|---|
UTF8 |
| Constructor Summary | |
|---|---|
AbstractListElementProvider(javax.ws.rs.ext.Providers ps)
|
|
AbstractListElementProvider(javax.ws.rs.ext.Providers ps,
javax.ws.rs.core.MediaType mt)
|
|
| Method Summary | |
|---|---|
protected java.lang.Class |
getElementClass(java.lang.Class<?> type,
java.lang.reflect.Type genericType)
|
protected java.lang.String |
getElementName(java.lang.Class<?> elementType)
|
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)
|
static boolean |
verifyArrayType(java.lang.Class type,
AbstractListElementProvider.JaxbTypeChecker checker)
The method could be used to check if given type is an array of JAXB beans. |
static boolean |
verifyCollectionSubclass(java.lang.Class<?> type)
|
static boolean |
verifyGenericType(java.lang.reflect.Type genericType,
AbstractListElementProvider.JaxbTypeChecker checker)
The method could be used to check if given type is a collection of JAXB beans. |
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 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 |
|---|
public AbstractListElementProvider(javax.ws.rs.ext.Providers ps)
public AbstractListElementProvider(javax.ws.rs.ext.Providers ps,
javax.ws.rs.core.MediaType mt)
| Method Detail |
|---|
public boolean isReadable(java.lang.Class<?> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType)
public boolean isWriteable(java.lang.Class<?> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
javax.ws.rs.core.MediaType mediaType)
public static boolean verifyCollectionSubclass(java.lang.Class<?> type)
public static boolean verifyArrayType(java.lang.Class type,
AbstractListElementProvider.JaxbTypeChecker checker)
type - the array to be checkedchecker - allows JAXB bean check customization
public static boolean verifyGenericType(java.lang.reflect.Type genericType,
AbstractListElementProvider.JaxbTypeChecker checker)
genericType - the type to be checkedchecker - allows JAXB bean check customization
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
java.io.IOException
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
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
javax.xml.bind.JAXBException
java.io.IOException
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
java.io.IOException
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
elementType - the individual element type.mediaType - the media type.unmarshaller - the unmarshaller as a carrier of possible config options.entityStream - the input stream.
javax.xml.stream.XMLStreamException
protected java.lang.Class getElementClass(java.lang.Class<?> type,
java.lang.reflect.Type genericType)
protected final java.lang.String getRootElementName(java.lang.Class<?> elementType)
protected final java.lang.String getElementName(java.lang.Class<?> elementType)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||