Package org.apache.cxf.jaxrs.provider
Class AbstractJAXBProvider<T>
- java.lang.Object
-
- org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider
-
- org.apache.cxf.jaxrs.provider.AbstractJAXBProvider<T>
-
- All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<T>,javax.ws.rs.ext.MessageBodyWriter<T>
- Direct Known Subclasses:
JAXBElementProvider,JSONProvider
public abstract class AbstractJAXBProvider<T> extends AbstractConfigurableProvider implements javax.ws.rs.ext.MessageBodyReader<T>, javax.ws.rs.ext.MessageBodyWriter<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractJAXBProvider.CollectionWrapperprotected static classAbstractJAXBProvider.JAXBCollectionWrapperReader
-
Field Summary
Fields Modifier and Type Field Description protected Map<Class<?>,javax.xml.bind.JAXBContext>classContextsprotected Set<Class<?>>collectionContextClassesprotected Map<String,String>inAppendMapprotected List<String>inDropElementsprotected Map<String,String>inElementsMapprotected Map<String,String>jaxbElementClassMapprotected booleanmarshalAsJaxbElementprotected static StringNS_MAPPER_PROPERTY_RIprotected static StringNS_MAPPER_PROPERTY_RI_INTprotected Map<String,Boolean>objectFactoryOrIndexMapprotected Map<String,String>outAppendMapprotected List<String>outDropElementsprotected Map<String,String>outElementsMapprotected Map<String,javax.xml.bind.JAXBContext>packageContextsprotected booleanunmarshalAsJaxbElementprotected booleanxmlTypeAsJaxbElementOnly-
Fields inherited from class org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider
BUNDLE, LOG
-
-
Constructor Summary
Constructors Constructor Description AbstractJAXBProvider()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancanBeReadAsJaxbElement(Class<?> type)protected static ObjectcheckAdapter(Object obj, Class<?> cls, Annotation[] anns, boolean marshal)voidclearContexts()protected XMLStreamReaderconfigureReaderRestrictions(XMLStreamReader reader)protected ObjectconvertToJaxbElementIfNeeded(Object obj, Class<?> cls, Type genericType)protected XMLStreamReadercreateDepthReaderIfNeeded(XMLStreamReader reader, InputStream is)protected javax.xml.bind.MarshallercreateMarshaller(Object obj, Class<?> cls, Type genericType, String enc)protected XMLStreamReadercreateTransformReaderIfNeeded(XMLStreamReader reader, InputStream is)protected XMLStreamWritercreateTransformWriterIfNeeded(XMLStreamWriter writer, OutputStream os, boolean dropAtXmlLevel)protected javax.xml.bind.UnmarshallercreateUnmarshaller(Class<?> cls, Type genericType)protected javax.xml.bind.UnmarshallercreateUnmarshaller(Class<?> cls, Type genericType, boolean isCollection)protected Class<?>getActualType(Class<?> type, Type genericType, Annotation[] anns)javax.xml.bind.JAXBContextgetClassContext(Class<?> type)protected javax.xml.bind.JAXBContextgetClassContext(Class<?> type, Type genericType)protected javax.xml.bind.JAXBContextgetCollectionContext(Class<?> type)protected QNamegetCollectionWrapperQName(Class<?> cls, Type type, Object object, boolean pluralName)protected MessageContextgetContext()protected DocumentDepthPropertiesgetDepthProperties()javax.xml.bind.JAXBContextgetJAXBContext(Class<?> type, Type genericType)protected Class<?>getJaxbElementClass(Class<?> cls)protected QNamegetJaxbQName(Class<?> cls, Type type, Object object, boolean pluralName)javax.xml.bind.JAXBContextgetPackageContext(Class<?> type)protected javax.xml.bind.JAXBContextgetPackageContext(Class<?> type, Type genericType)protected SchemagetSchema()protected SchemagetSchema(Class<?> cls)longgetSize(T o, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mt)protected <X> XgetStreamHandlerFromCurrentMessage(Class<X> staxCls)protected static voidhandleExceptionEnd(Throwable t, String message, boolean read)protected static StringBuilderhandleExceptionStart(Exception e)protected voidhandleJAXBException(javax.xml.bind.JAXBException e, boolean read)protected voidhandleXMLStreamException(XMLStreamException e, boolean read)voidinit(List<ClassResourceInfo> cris)Gives providers a chance to introspect the JAX-RS model classes.booleanisReadable(Class<?> type, Type genericType, Annotation[] anns, javax.ws.rs.core.MediaType mt)booleanisSkipJaxbChecks()protected booleanisSupported(Class<?> type, Type genericType, Annotation[] anns)booleanisWriteable(Class<?> type, Type genericType, Annotation[] anns, javax.ws.rs.core.MediaType mt)protected booleanisXmlRoot(Class<?> cls)protected booleanisXmlType(Class<?> cls)protected booleanobjectFactoryOrIndexAvailable(Class<?> type)voidsetAttributesToElements(boolean value)voidsetCatalogLocation(String name)voidsetCollectionWrapperMap(Map<String,String> map)voidsetCollectionWrapperName(String wName)protected voidsetContext(MessageContext context)voidsetContextProperties(Map<String,Object> contextProperties)voidsetDepthProperties(DocumentDepthProperties depthProperties)voidsetExtraClass(Class<?>[] userExtraClass)voidsetInAppendElements(Map<String,String> inElements)voidsetInDropElements(List<String> dropElementsSet)voidsetInTransformElements(Map<String,String> inElements)voidsetJaxbElementClassMap(Map<String,String> map)voidsetJaxbElementClassNames(List<String> names)voidsetMarshallAsJaxbElement(boolean value)voidsetMarshallerListener(javax.xml.bind.Marshaller.Listener marshallerListener)protected static voidsetMarshallerProp(javax.xml.bind.Marshaller ms, Object value, String name1, String name2)protected voidsetNamespaceMapper(javax.xml.bind.Marshaller ms, Map<String,String> map)voidsetNamespaceMapperPropertyName(String namespaceMapperProperty)voidsetOutAppendElements(Map<String,String> map)voidsetOutDropElements(List<String> dropElementsSet)voidsetOutTransformElements(Map<String,String> outElements)protected voidsetSchema(Schema s)voidsetSchemaHandler(SchemaHandler handler)voidsetSchemaHandlers(Map<String,SchemaHandler> handlers)voidsetSchemaLocations(List<String> locations)voidsetSingleJaxbContext(boolean useSingleContext)voidsetSkipJaxbChecks(boolean skipJaxbChecks)voidsetUnmarshallAsJaxbElement(boolean value)voidsetUnmarshallerListener(javax.xml.bind.Unmarshaller.Listener unmarshallerListener)voidsetUnmarshallerProperties(Map<String,Object> unmarshalProperties)voidsetUseSingleContextForPackages(boolean use)voidsetValidateBeforeWrite(boolean validateBeforeWrite)voidsetValidateInput(boolean validateInput)voidsetValidateOutput(boolean validateOutput)voidsetValidationHandler(javax.xml.bind.ValidationEventHandler handler)voidsetXmlRootAsJaxbElement(boolean xmlRootAsJaxbElement)voidsetXmlTypeAsJaxbElementOnly(boolean value)protected voidvalidateObjectIfNeeded(javax.xml.bind.Marshaller marshaller, Class<?> cls, Object obj)voidwriteTo(T t, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream)-
Methods inherited from class org.apache.cxf.jaxrs.provider.AbstractConfigurableProvider
getBus, getConsumeMediaTypes, getEnableBuffering, getEnableStreaming, getProduceMediaTypes, isPayloadEmpty, isPayloadEmpty, reportEmptyContentLength, setBus, setConsumeMediaTypes, setEnableBuffering, setEnableStreaming, setProduceMediaTypes
-
-
-
-
Field Detail
-
NS_MAPPER_PROPERTY_RI
protected static final String NS_MAPPER_PROPERTY_RI
- See Also:
- Constant Field Values
-
NS_MAPPER_PROPERTY_RI_INT
protected static final String NS_MAPPER_PROPERTY_RI_INT
- See Also:
- Constant Field Values
-
unmarshalAsJaxbElement
protected boolean unmarshalAsJaxbElement
-
marshalAsJaxbElement
protected boolean marshalAsJaxbElement
-
xmlTypeAsJaxbElementOnly
protected boolean xmlTypeAsJaxbElementOnly
-
-
Method Detail
-
setXmlRootAsJaxbElement
public void setXmlRootAsJaxbElement(boolean xmlRootAsJaxbElement)
-
setNamespaceMapper
protected void setNamespaceMapper(javax.xml.bind.Marshaller ms, Map<String,String> map) throws Exception- Throws:
Exception
-
setMarshallerProp
protected static void setMarshallerProp(javax.xml.bind.Marshaller ms, Object value, String name1, String name2) throws Exception- Throws:
Exception
-
setValidationHandler
public void setValidationHandler(javax.xml.bind.ValidationEventHandler handler)
-
setSingleJaxbContext
public void setSingleJaxbContext(boolean useSingleContext)
-
setUseSingleContextForPackages
public void setUseSingleContextForPackages(boolean use)
-
setExtraClass
public void setExtraClass(Class<?>[] userExtraClass)
-
init
public void init(List<ClassResourceInfo> cris)
Description copied from class:AbstractConfigurableProviderGives providers a chance to introspect the JAX-RS model classes. For example, the JAXB provider may use the model classes to create a single composite JAXBContext supporting all the JAXB-annotated root resource classes/types.- Overrides:
initin classAbstractConfigurableProvider
-
setUnmarshallerProperties
public void setUnmarshallerProperties(Map<String,Object> unmarshalProperties)
-
setUnmarshallAsJaxbElement
public void setUnmarshallAsJaxbElement(boolean value)
-
setMarshallAsJaxbElement
public void setMarshallAsJaxbElement(boolean value)
-
setXmlTypeAsJaxbElementOnly
public void setXmlTypeAsJaxbElementOnly(boolean value)
-
getStreamHandlerFromCurrentMessage
protected <X> X getStreamHandlerFromCurrentMessage(Class<X> staxCls)
-
isXmlRoot
protected boolean isXmlRoot(Class<?> cls)
-
isXmlType
protected boolean isXmlType(Class<?> cls)
-
convertToJaxbElementIfNeeded
protected Object convertToJaxbElementIfNeeded(Object obj, Class<?> cls, Type genericType) throws Exception
- Throws:
Exception
-
setCollectionWrapperName
public void setCollectionWrapperName(String wName)
-
setContext
protected void setContext(MessageContext context)
-
isWriteable
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] anns, javax.ws.rs.core.MediaType mt)
- Specified by:
isWriteablein interfacejavax.ws.rs.ext.MessageBodyWriter<T>
-
writeTo
public void writeTo(T t, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, javax.ws.rs.WebApplicationException
- Throws:
IOExceptionjavax.ws.rs.WebApplicationException
-
getCollectionContext
protected javax.xml.bind.JAXBContext getCollectionContext(Class<?> type) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
getCollectionWrapperQName
protected QName getCollectionWrapperQName(Class<?> cls, Type type, Object object, boolean pluralName) throws Exception
- Throws:
Exception
-
getJaxbQName
protected QName getJaxbQName(Class<?> cls, Type type, Object object, boolean pluralName) throws Exception
- Throws:
Exception
-
isReadable
public boolean isReadable(Class<?> type, Type genericType, Annotation[] anns, javax.ws.rs.core.MediaType mt)
- Specified by:
isReadablein interfacejavax.ws.rs.ext.MessageBodyReader<T>
-
canBeReadAsJaxbElement
protected boolean canBeReadAsJaxbElement(Class<?> type)
-
setCatalogLocation
public void setCatalogLocation(String name)
-
setSchemaHandler
public void setSchemaHandler(SchemaHandler handler)
-
setSchemaHandlers
public void setSchemaHandlers(Map<String,SchemaHandler> handlers)
-
setSchema
protected void setSchema(Schema s)
-
getSize
public long getSize(T o, Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mt)
- Specified by:
getSizein interfacejavax.ws.rs.ext.MessageBodyWriter<T>
-
getContext
protected MessageContext getContext()
-
getJAXBContext
public javax.xml.bind.JAXBContext getJAXBContext(Class<?> type, Type genericType) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
getClassContext
public javax.xml.bind.JAXBContext getClassContext(Class<?> type) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
getClassContext
protected javax.xml.bind.JAXBContext getClassContext(Class<?> type, Type genericType) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
getPackageContext
public javax.xml.bind.JAXBContext getPackageContext(Class<?> type)
-
getPackageContext
protected javax.xml.bind.JAXBContext getPackageContext(Class<?> type, Type genericType)
-
isSupported
protected boolean isSupported(Class<?> type, Type genericType, Annotation[] anns)
-
objectFactoryOrIndexAvailable
protected boolean objectFactoryOrIndexAvailable(Class<?> type)
-
createUnmarshaller
protected javax.xml.bind.Unmarshaller createUnmarshaller(Class<?> cls, Type genericType) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
createUnmarshaller
protected javax.xml.bind.Unmarshaller createUnmarshaller(Class<?> cls, Type genericType, boolean isCollection) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
createMarshaller
protected javax.xml.bind.Marshaller createMarshaller(Object obj, Class<?> cls, Type genericType, String enc) throws javax.xml.bind.JAXBException
- Throws:
javax.xml.bind.JAXBException
-
validateObjectIfNeeded
protected void validateObjectIfNeeded(javax.xml.bind.Marshaller marshaller, Class<?> cls, Object obj) throws javax.xml.bind.JAXBException- Throws:
javax.xml.bind.JAXBException
-
getActualType
protected Class<?> getActualType(Class<?> type, Type genericType, Annotation[] anns)
-
checkAdapter
protected static Object checkAdapter(Object obj, Class<?> cls, Annotation[] anns, boolean marshal)
-
getSchema
protected Schema getSchema()
-
clearContexts
public void clearContexts()
-
handleExceptionStart
protected static StringBuilder handleExceptionStart(Exception e)
-
handleExceptionEnd
protected static void handleExceptionEnd(Throwable t, String message, boolean read)
-
handleJAXBException
protected void handleJAXBException(javax.xml.bind.JAXBException e, boolean read)
-
handleXMLStreamException
protected void handleXMLStreamException(XMLStreamException e, boolean read)
-
setAttributesToElements
public void setAttributesToElements(boolean value)
-
setSkipJaxbChecks
public void setSkipJaxbChecks(boolean skipJaxbChecks)
-
isSkipJaxbChecks
public boolean isSkipJaxbChecks()
-
createTransformWriterIfNeeded
protected XMLStreamWriter createTransformWriterIfNeeded(XMLStreamWriter writer, OutputStream os, boolean dropAtXmlLevel)
-
createTransformReaderIfNeeded
protected XMLStreamReader createTransformReaderIfNeeded(XMLStreamReader reader, InputStream is)
-
createDepthReaderIfNeeded
protected XMLStreamReader createDepthReaderIfNeeded(XMLStreamReader reader, InputStream is)
-
configureReaderRestrictions
protected XMLStreamReader configureReaderRestrictions(XMLStreamReader reader)
-
getDepthProperties
protected DocumentDepthProperties getDepthProperties()
-
setValidateBeforeWrite
public void setValidateBeforeWrite(boolean validateBeforeWrite)
-
setValidateOutput
public void setValidateOutput(boolean validateOutput)
-
setValidateInput
public void setValidateInput(boolean validateInput)
-
setDepthProperties
public void setDepthProperties(DocumentDepthProperties depthProperties)
-
setUnmarshallerListener
public void setUnmarshallerListener(javax.xml.bind.Unmarshaller.Listener unmarshallerListener)
-
setMarshallerListener
public void setMarshallerListener(javax.xml.bind.Marshaller.Listener marshallerListener)
-
setNamespaceMapperPropertyName
public void setNamespaceMapperPropertyName(String namespaceMapperProperty)
-
-