public abstract class AbstractListElementProvider extends AbstractJAXBProvider<java.lang.Object>
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).
| Modifier and Type | Class and Description |
|---|---|
static interface |
AbstractListElementProvider.JaxbTypeChecker
This is to allow customized JAXB collections checking.
|
UTF8| Constructor and Description |
|---|
AbstractListElementProvider(javax.ws.rs.ext.Providers ps) |
AbstractListElementProvider(javax.ws.rs.ext.Providers ps,
javax.ws.rs.core.MediaType mt) |
| Modifier and Type | Method and Description |
|---|---|
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) |
getJAXBContext, getMarshaller, getSAXSource, getStoredJAXBContext, getUnmarshaller, isFormattedOutput, isSupported, isXmlRootElementProcessing, setConfiguration, setHeadergetCharset, getSize, readFromAsString, writeTo, writeTo, writeToAsStringpublic AbstractListElementProvider(javax.ws.rs.ext.Providers ps)
public AbstractListElementProvider(javax.ws.rs.ext.Providers ps,
javax.ws.rs.core.MediaType mt)
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 customizationpublic static boolean verifyGenericType(java.lang.reflect.Type genericType,
AbstractListElementProvider.JaxbTypeChecker checker)
genericType - the type to be checkedchecker - allows JAXB bean check customizationpublic 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.IOExceptionpublic 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 collectionjavax.xml.bind.JAXBExceptionjava.io.IOExceptionpublic 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.IOExceptionprotected 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.XMLStreamExceptionprotected 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)
Copyright © 2016 Oracle Corporation. All Rights Reserved.