|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider<T>
org.glassfish.jersey.message.internal.AbstractJaxbProvider<Object>
org.glassfish.jersey.message.internal.AbstractCollectionJaxbProvider
public abstract class AbstractCollectionJaxbProvider
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:
T 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 |
AbstractCollectionJaxbProvider.JaxbTypeChecker
This is to allow customized JAXB collections checking. |
| Field Summary |
|---|
| Fields inherited from class org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider |
|---|
UTF8 |
| Constructor Summary | |
|---|---|
AbstractCollectionJaxbProvider(Providers ps)
|
|
AbstractCollectionJaxbProvider(Providers ps,
MediaType mt)
|
|
| Method Summary | |
|---|---|
protected static Class |
getElementClass(Class<?> type,
Type genericType)
|
protected static String |
getElementName(Class<?> elementType)
|
protected String |
getRootElementName(Class<?> elementType)
|
protected abstract XMLStreamReader |
getXMLStreamReader(Class<?> elementType,
MediaType mediaType,
Unmarshaller unmarshaller,
InputStream entityStream)
Get the XMLStreamReader for unmarshalling. |
boolean |
isReadable(Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
|
boolean |
isWriteable(Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
|
Object |
readFrom(Class<Object> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,String> httpHeaders,
InputStream inputStream)
|
static boolean |
verifyArrayType(Class type,
AbstractCollectionJaxbProvider.JaxbTypeChecker checker)
The method could be used to check if given type is an array of JAXB beans. |
static boolean |
verifyCollectionSubclass(Class<?> type)
|
static boolean |
verifyGenericType(Type genericType,
AbstractCollectionJaxbProvider.JaxbTypeChecker checker)
The method could be used to check if given type is a collection of JAXB beans. |
abstract void |
writeList(Class<?> elementType,
Collection<?> t,
MediaType mediaType,
Charset c,
Marshaller m,
OutputStream entityStream)
Write a collection of JAXB objects as child elements of the root element. |
void |
writeTo(Object t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
|
| Methods inherited from class org.glassfish.jersey.message.internal.AbstractJaxbProvider |
|---|
getMarshaller, getSAXSource, getStoredJaxbContext, getUnmarshaller, isFormattedOutput, isSupported, isXmlRootElementProcessing, setConfiguration, setHeader |
| Methods inherited from class org.glassfish.jersey.message.internal.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 AbstractCollectionJaxbProvider(Providers ps)
public AbstractCollectionJaxbProvider(Providers ps,
MediaType mt)
| Method Detail |
|---|
public boolean isReadable(Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
public boolean isWriteable(Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
public static boolean verifyCollectionSubclass(Class<?> type)
public static boolean verifyArrayType(Class type,
AbstractCollectionJaxbProvider.JaxbTypeChecker checker)
type - the array to be checkedchecker - allows JAXB bean check customization
public static boolean verifyGenericType(Type genericType,
AbstractCollectionJaxbProvider.JaxbTypeChecker checker)
genericType - the type to be checkedchecker - allows JAXB bean check customization
public final void writeTo(Object t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
throws IOException
IOException
public abstract void writeList(Class<?> elementType,
Collection<?> t,
MediaType mediaType,
Charset c,
Marshaller m,
OutputStream entityStream)
throws JAXBException,
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
JAXBException
IOException
public final Object readFrom(Class<Object> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,String> httpHeaders,
InputStream inputStream)
throws IOException
IOException
protected abstract XMLStreamReader getXMLStreamReader(Class<?> elementType,
MediaType mediaType,
Unmarshaller unmarshaller,
InputStream entityStream)
throws XMLStreamException
elementType - the individual element type.mediaType - the media type.unmarshaller - the unmarshaller as a carrier of possible config options.entityStream - the input stream.
XMLStreamException
protected static Class getElementClass(Class<?> type,
Type genericType)
protected final String getRootElementName(Class<?> elementType)
protected static final String getElementName(Class<?> elementType)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||