Apache CXF API

org.apache.cxf.jaxrs.provider
Class AbstractJAXBProvider

java.lang.Object
  extended by org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider
      extended by org.apache.cxf.jaxrs.provider.AbstractJAXBProvider
All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<java.lang.Object>, javax.ws.rs.ext.MessageBodyWriter<java.lang.Object>
Direct Known Subclasses:
JAXBElementProvider, JSONProvider

public abstract class AbstractJAXBProvider
extends AbstractConfigurableProvider
implements javax.ws.rs.ext.MessageBodyReader<java.lang.Object>, javax.ws.rs.ext.MessageBodyWriter<java.lang.Object>


Nested Class Summary
protected static class AbstractJAXBProvider.CollectionWrapper
           
protected static class AbstractJAXBProvider.InTransformReader
           
protected static class AbstractJAXBProvider.OutTransformWriter
           
 
Field Summary
protected static java.util.ResourceBundle BUNDLE
           
protected  java.util.Map<java.lang.String,java.lang.String> inAppendMap
           
protected  java.util.List<java.lang.String> inDropElements
           
protected  java.util.Map<java.lang.String,java.lang.String> inElementsMap
           
protected  java.util.Map<java.lang.String,java.lang.String> jaxbElementClassMap
           
protected  boolean marshalAsJaxbElement
           
protected  java.util.Map<java.lang.String,java.lang.String> outAppendMap
           
protected  java.util.List<java.lang.String> outDropElements
           
protected  java.util.Map<java.lang.String,java.lang.String> outElementsMap
           
protected  boolean unmarshalAsJaxbElement
           
 
Constructor Summary
AbstractJAXBProvider()
           
 
Method Summary
protected  boolean adapterAvailable(java.lang.Class<?> type, java.lang.annotation.Annotation[] anns)
           
protected  java.lang.Object checkAdapter(java.lang.Object obj, java.lang.annotation.Annotation[] anns, boolean marshal)
           
protected  void checkContentLength()
           
protected static javax.xml.namespace.QName convertStringToQName(java.lang.String name)
           
protected  java.lang.Object convertToJaxbElementIfNeeded(java.lang.Object obj, java.lang.Class<?> cls, java.lang.reflect.Type genericType)
           
protected static void convertToMapOfQNames(java.util.Map<java.lang.String,java.lang.String> map, java.util.Map<javax.xml.namespace.QName,javax.xml.namespace.QName> elementsMap, java.util.Map<java.lang.String,java.lang.String> nsMap)
           
protected static java.util.Set<javax.xml.namespace.QName> convertToSetOfQNames(java.util.List<java.lang.String> dropEls)
           
protected  javax.xml.bind.Marshaller createMarshaller(java.lang.Object obj, java.lang.Class<?> cls, java.lang.reflect.Type genericType, java.lang.String enc)
           
protected  javax.xml.stream.XMLStreamReader createNewReaderIfNeeded(javax.xml.stream.XMLStreamReader reader, java.io.InputStream is)
           
protected  javax.xml.stream.XMLStreamWriter createNewWriterIfNeeded(javax.xml.stream.XMLStreamWriter writer, java.io.OutputStream os)
           
protected  javax.xml.stream.XMLStreamReader createTransformReaderIfNeeded(javax.xml.stream.XMLStreamReader reader, java.io.InputStream is)
           
protected  javax.xml.stream.XMLStreamWriter createTransformWriterIfNeeded(javax.xml.stream.XMLStreamWriter writer, java.io.OutputStream os)
           
protected  javax.xml.bind.Unmarshaller createUnmarshaller(java.lang.Class<?> cls, java.lang.reflect.Type genericType)
           
protected  javax.xml.bind.Unmarshaller createUnmarshaller(java.lang.Class<?> cls, java.lang.reflect.Type genericType, boolean isCollection)
           
protected  java.lang.Class<?> getActualType(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] anns)
           
protected  javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter getAdapter(java.lang.Class<?> type, java.lang.annotation.Annotation[] anns)
           
 javax.xml.bind.JAXBContext getClassContext(java.lang.Class<?> type)
           
protected  javax.xml.bind.JAXBContext getCollectionContext(java.lang.Class<?> type)
           
protected  javax.xml.namespace.QName getCollectionWrapperQName(java.lang.Class<?> cls, java.lang.reflect.Type type, java.lang.Object object, boolean pluralName)
           
protected  MessageContext getContext()
           
protected  java.lang.String getEncoding(javax.ws.rs.core.MediaType mt, javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> headers)
           
protected  javax.xml.bind.JAXBContext getJAXBContext(java.lang.Class<?> type, java.lang.reflect.Type genericType)
           
protected  javax.xml.namespace.QName getJaxbQName(java.lang.Class<?> cls, java.lang.reflect.Type type, java.lang.Object object, boolean pluralName)
           
 javax.xml.bind.JAXBContext getPackageContext(java.lang.Class<?> type)
           
protected  javax.xml.validation.Schema getSchema()
           
 long getSize(java.lang.Object o, java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, javax.ws.rs.core.MediaType mt)
           
protected static void handleJAXBException(javax.xml.bind.JAXBException e)
           
 boolean isReadable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] anns, javax.ws.rs.core.MediaType mt)
           
protected  boolean isSupported(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] anns)
           
 boolean isWriteable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] anns, javax.ws.rs.core.MediaType mt)
           
protected  boolean objectFactoryForClass(java.lang.Class<?> type)
           
 void setAttributesToElements(boolean value)
           
 void setCollectionWrapperMap(java.util.Map<java.lang.String,java.lang.String> map)
           
 void setCollectionWrapperName(java.lang.String wName)
           
protected  void setContext(MessageContext context)
           
 void setContextProperties(java.util.Map<java.lang.String,java.lang.Object> contextProperties)
           
 void setInAppendElements(java.util.Map<java.lang.String,java.lang.String> inElements)
           
 void setInDropElements(java.util.List<java.lang.String> dropElementsSet)
           
 void setInTransformElements(java.util.Map<java.lang.String,java.lang.String> inElements)
           
 void setJaxbElementClassMap(java.util.Map<java.lang.String,java.lang.String> map)
           
 void setJaxbElementClassNames(java.util.List<java.lang.String> names)
           
 void setMarshallAsJaxbElement(boolean value)
           
 void setOutAppendElements(java.util.Map<java.lang.String,java.lang.String> map)
           
 void setOutDropElements(java.util.List<java.lang.String> dropElementsSet)
           
 void setOutTransformElements(java.util.Map<java.lang.String,java.lang.String> outElements)
           
 void setSchema(javax.xml.validation.Schema s)
           
 void setSchemaLocations(java.util.List<java.lang.String> locations)
           
 void setUnmarshallAsJaxbElement(boolean value)
           
 void setUnmarshallerProperties(java.util.Map<java.lang.String,java.lang.Object> unmarshalProperties)
           
 
Methods inherited from class org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider
getBus, getConsumeMediaTypes, getEnableBuffering, getProduceMediaTypes, setBus, setConsumeMediaTypes, setEnableBuffering, setProduceMediaTypes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.ws.rs.ext.MessageBodyReader
readFrom
 
Methods inherited from interface javax.ws.rs.ext.MessageBodyWriter
writeTo
 

Field Detail

BUNDLE

protected static final java.util.ResourceBundle BUNDLE

jaxbElementClassMap

protected java.util.Map<java.lang.String,java.lang.String> jaxbElementClassMap

unmarshalAsJaxbElement

protected boolean unmarshalAsJaxbElement

marshalAsJaxbElement

protected boolean marshalAsJaxbElement

outElementsMap

protected java.util.Map<java.lang.String,java.lang.String> outElementsMap

outAppendMap

protected java.util.Map<java.lang.String,java.lang.String> outAppendMap

outDropElements

protected java.util.List<java.lang.String> outDropElements

inDropElements

protected java.util.List<java.lang.String> inDropElements

inElementsMap

protected java.util.Map<java.lang.String,java.lang.String> inElementsMap

inAppendMap

protected java.util.Map<java.lang.String,java.lang.String> inAppendMap
Constructor Detail

AbstractJAXBProvider

public AbstractJAXBProvider()
Method Detail

setContextProperties

public void setContextProperties(java.util.Map<java.lang.String,java.lang.Object> contextProperties)

setUnmarshallerProperties

public void setUnmarshallerProperties(java.util.Map<java.lang.String,java.lang.Object> unmarshalProperties)

setUnmarshallAsJaxbElement

public void setUnmarshallAsJaxbElement(boolean value)

setMarshallAsJaxbElement

public void setMarshallAsJaxbElement(boolean value)

setJaxbElementClassNames

public void setJaxbElementClassNames(java.util.List<java.lang.String> names)

setJaxbElementClassMap

public void setJaxbElementClassMap(java.util.Map<java.lang.String,java.lang.String> map)

checkContentLength

protected void checkContentLength()

convertToJaxbElementIfNeeded

protected java.lang.Object convertToJaxbElementIfNeeded(java.lang.Object obj,
                                                        java.lang.Class<?> cls,
                                                        java.lang.reflect.Type genericType)
                                                 throws java.lang.Exception
Throws:
java.lang.Exception

setCollectionWrapperName

public void setCollectionWrapperName(java.lang.String wName)

setCollectionWrapperMap

public void setCollectionWrapperMap(java.util.Map<java.lang.String,java.lang.String> map)

setContext

protected void setContext(MessageContext context)

isWriteable

public boolean isWriteable(java.lang.Class<?> type,
                           java.lang.reflect.Type genericType,
                           java.lang.annotation.Annotation[] anns,
                           javax.ws.rs.core.MediaType mt)
Specified by:
isWriteable in interface javax.ws.rs.ext.MessageBodyWriter<java.lang.Object>

getCollectionContext

protected javax.xml.bind.JAXBContext getCollectionContext(java.lang.Class<?> type)
                                                   throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

getCollectionWrapperQName

protected javax.xml.namespace.QName getCollectionWrapperQName(java.lang.Class<?> cls,
                                                              java.lang.reflect.Type type,
                                                              java.lang.Object object,
                                                              boolean pluralName)
                                                       throws java.lang.Exception
Throws:
java.lang.Exception

convertStringToQName

protected static javax.xml.namespace.QName convertStringToQName(java.lang.String name)

getJaxbQName

protected javax.xml.namespace.QName getJaxbQName(java.lang.Class<?> cls,
                                                 java.lang.reflect.Type type,
                                                 java.lang.Object object,
                                                 boolean pluralName)
                                          throws java.lang.Exception
Throws:
java.lang.Exception

isReadable

public boolean isReadable(java.lang.Class<?> type,
                          java.lang.reflect.Type genericType,
                          java.lang.annotation.Annotation[] anns,
                          javax.ws.rs.core.MediaType mt)
Specified by:
isReadable in interface javax.ws.rs.ext.MessageBodyReader<java.lang.Object>

setSchemaLocations

public void setSchemaLocations(java.util.List<java.lang.String> locations)

setSchema

public void setSchema(javax.xml.validation.Schema s)

getSize

public long getSize(java.lang.Object o,
                    java.lang.Class<?> type,
                    java.lang.reflect.Type genericType,
                    java.lang.annotation.Annotation[] annotations,
                    javax.ws.rs.core.MediaType mt)
Specified by:
getSize in interface javax.ws.rs.ext.MessageBodyWriter<java.lang.Object>

getContext

protected MessageContext getContext()

getJAXBContext

protected javax.xml.bind.JAXBContext getJAXBContext(java.lang.Class<?> type,
                                                    java.lang.reflect.Type genericType)
                                             throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

getClassContext

public javax.xml.bind.JAXBContext getClassContext(java.lang.Class<?> type)
                                           throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

getPackageContext

public javax.xml.bind.JAXBContext getPackageContext(java.lang.Class<?> type)

isSupported

protected boolean isSupported(java.lang.Class<?> type,
                              java.lang.reflect.Type genericType,
                              java.lang.annotation.Annotation[] anns)

adapterAvailable

protected boolean adapterAvailable(java.lang.Class<?> type,
                                   java.lang.annotation.Annotation[] anns)

objectFactoryForClass

protected boolean objectFactoryForClass(java.lang.Class<?> type)

createUnmarshaller

protected javax.xml.bind.Unmarshaller createUnmarshaller(java.lang.Class<?> cls,
                                                         java.lang.reflect.Type genericType)
                                                  throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

createUnmarshaller

protected javax.xml.bind.Unmarshaller createUnmarshaller(java.lang.Class<?> cls,
                                                         java.lang.reflect.Type genericType,
                                                         boolean isCollection)
                                                  throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

createMarshaller

protected javax.xml.bind.Marshaller createMarshaller(java.lang.Object obj,
                                                     java.lang.Class<?> cls,
                                                     java.lang.reflect.Type genericType,
                                                     java.lang.String enc)
                                              throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

getEncoding

protected java.lang.String getEncoding(javax.ws.rs.core.MediaType mt,
                                       javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> headers)

getActualType

protected java.lang.Class<?> getActualType(java.lang.Class<?> type,
                                           java.lang.reflect.Type genericType,
                                           java.lang.annotation.Annotation[] anns)

checkAdapter

protected java.lang.Object checkAdapter(java.lang.Object obj,
                                        java.lang.annotation.Annotation[] anns,
                                        boolean marshal)

getAdapter

protected javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter getAdapter(java.lang.Class<?> type,
                                                                           java.lang.annotation.Annotation[] anns)

getSchema

protected javax.xml.validation.Schema getSchema()

handleJAXBException

protected static void handleJAXBException(javax.xml.bind.JAXBException e)

setOutTransformElements

public void setOutTransformElements(java.util.Map<java.lang.String,java.lang.String> outElements)

setInAppendElements

public void setInAppendElements(java.util.Map<java.lang.String,java.lang.String> inElements)

setInTransformElements

public void setInTransformElements(java.util.Map<java.lang.String,java.lang.String> inElements)

setOutAppendElements

public void setOutAppendElements(java.util.Map<java.lang.String,java.lang.String> map)

setOutDropElements

public void setOutDropElements(java.util.List<java.lang.String> dropElementsSet)

setInDropElements

public void setInDropElements(java.util.List<java.lang.String> dropElementsSet)

convertToSetOfQNames

protected static java.util.Set<javax.xml.namespace.QName> convertToSetOfQNames(java.util.List<java.lang.String> dropEls)

createTransformReaderIfNeeded

protected javax.xml.stream.XMLStreamReader createTransformReaderIfNeeded(javax.xml.stream.XMLStreamReader reader,
                                                                         java.io.InputStream is)

createTransformWriterIfNeeded

protected javax.xml.stream.XMLStreamWriter createTransformWriterIfNeeded(javax.xml.stream.XMLStreamWriter writer,
                                                                         java.io.OutputStream os)

createNewReaderIfNeeded

protected javax.xml.stream.XMLStreamReader createNewReaderIfNeeded(javax.xml.stream.XMLStreamReader reader,
                                                                   java.io.InputStream is)

createNewWriterIfNeeded

protected javax.xml.stream.XMLStreamWriter createNewWriterIfNeeded(javax.xml.stream.XMLStreamWriter writer,
                                                                   java.io.OutputStream os)

convertToMapOfQNames

protected static void convertToMapOfQNames(java.util.Map<java.lang.String,java.lang.String> map,
                                           java.util.Map<javax.xml.namespace.QName,javax.xml.namespace.QName> elementsMap,
                                           java.util.Map<java.lang.String,java.lang.String> nsMap)

setAttributesToElements

public void setAttributesToElements(boolean value)

Apache CXF API

Apache CXF