Class AbstractJAXBProvider<T>

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

public abstract class AbstractJAXBProvider<T> extends AbstractConfigurableProvider implements jakarta.ws.rs.ext.MessageBodyReader<T>, jakarta.ws.rs.ext.MessageBodyWriter<T>
  • Field Details

    • NS_MAPPER_PROPERTY_RI

      protected static final String NS_MAPPER_PROPERTY_RI
      See Also:
    • NS_MAPPER_PROPERTY_RI_INT

      protected static final String NS_MAPPER_PROPERTY_RI_INT
      See Also:
    • collectionContextClasses

      protected Set<Class<?>> collectionContextClasses
    • jaxbElementClassMap

      protected Map<String,String> jaxbElementClassMap
    • objectFactoryOrIndexMap

      protected Map<String,Boolean> objectFactoryOrIndexMap
    • unmarshalAsJaxbElement

      protected boolean unmarshalAsJaxbElement
    • marshalAsJaxbElement

      protected boolean marshalAsJaxbElement
    • xmlTypeAsJaxbElementOnly

      protected boolean xmlTypeAsJaxbElementOnly
    • outElementsMap

      protected Map<String,String> outElementsMap
    • outAppendMap

      protected Map<String,String> outAppendMap
    • outDropElements

      protected List<String> outDropElements
    • inDropElements

      protected List<String> inDropElements
    • inElementsMap

      protected Map<String,String> inElementsMap
    • inAppendMap

      protected Map<String,String> inAppendMap
    • packageContexts

      protected Map<String,jakarta.xml.bind.JAXBContext> packageContexts
    • classContexts

      protected Map<Class<?>,jakarta.xml.bind.JAXBContext> classContexts
  • Constructor Details

    • AbstractJAXBProvider

      public AbstractJAXBProvider()
  • Method Details

    • setXmlRootAsJaxbElement

      public void setXmlRootAsJaxbElement(boolean xmlRootAsJaxbElement)
    • setNamespaceMapper

      protected void setNamespaceMapper(jakarta.xml.bind.Marshaller ms, Map<String,String> map) throws Exception
      Throws:
      Exception
    • setMarshallerProp

      protected static void setMarshallerProp(jakarta.xml.bind.Marshaller ms, Object value, String name1, String name2) throws Exception
      Throws:
      Exception
    • setValidationHandler

      public void setValidationHandler(jakarta.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: AbstractConfigurableProvider
      Gives 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:
      init in class AbstractConfigurableProvider
    • setContextProperties

      public void setContextProperties(Map<String,Object> contextProperties)
    • 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)
    • setJaxbElementClassNames

      public void setJaxbElementClassNames(List<String> names)
    • setJaxbElementClassMap

      public void setJaxbElementClassMap(Map<String,String> map)
    • 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
    • getJaxbElementClass

      protected Class<?> getJaxbElementClass(Class<?> cls)
    • setCollectionWrapperName

      public void setCollectionWrapperName(String wName)
    • setCollectionWrapperMap

      public void setCollectionWrapperMap(Map<String,String> map)
    • setContext

      protected void setContext(MessageContext context)
    • isWriteable

      public boolean isWriteable(Class<?> type, Type genericType, Annotation[] anns, jakarta.ws.rs.core.MediaType mt)
      Specified by:
      isWriteable in interface jakarta.ws.rs.ext.MessageBodyWriter<T>
    • writeTo

      public void writeTo(T t, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, jakarta.ws.rs.WebApplicationException
      Throws:
      IOException
      jakarta.ws.rs.WebApplicationException
    • getCollectionContext

      protected jakarta.xml.bind.JAXBContext getCollectionContext(Class<?> type) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.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, jakarta.ws.rs.core.MediaType mt)
      Specified by:
      isReadable in interface jakarta.ws.rs.ext.MessageBodyReader<T>
    • canBeReadAsJaxbElement

      protected boolean canBeReadAsJaxbElement(Class<?> type)
    • setSchemaLocations

      public void setSchemaLocations(List<String> locations)
    • 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, jakarta.ws.rs.core.MediaType mt)
      Specified by:
      getSize in interface jakarta.ws.rs.ext.MessageBodyWriter<T>
    • getContext

      protected MessageContext getContext()
    • getJAXBContext

      public jakarta.xml.bind.JAXBContext getJAXBContext(Class<?> type, Type genericType) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException
    • getClassContext

      public jakarta.xml.bind.JAXBContext getClassContext(Class<?> type) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException
    • getClassContext

      protected jakarta.xml.bind.JAXBContext getClassContext(Class<?> type, Type genericType) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException
    • getPackageContext

      public jakarta.xml.bind.JAXBContext getPackageContext(Class<?> type)
    • getPackageContext

      protected jakarta.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 jakarta.xml.bind.Unmarshaller createUnmarshaller(Class<?> cls, Type genericType) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException
    • createUnmarshaller

      protected jakarta.xml.bind.Unmarshaller createUnmarshaller(Class<?> cls, Type genericType, boolean isCollection) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException
    • createMarshaller

      protected jakarta.xml.bind.Marshaller createMarshaller(Object obj, Class<?> cls, Type genericType, String enc) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.xml.bind.JAXBException
    • validateObjectIfNeeded

      protected void validateObjectIfNeeded(jakarta.xml.bind.Marshaller marshaller, Class<?> cls, Object obj) throws jakarta.xml.bind.JAXBException
      Throws:
      jakarta.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()
    • getSchema

      protected Schema getSchema(Class<?> cls)
    • 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(jakarta.xml.bind.JAXBException e, boolean read)
    • handleXMLStreamException

      protected void handleXMLStreamException(XMLStreamException e, boolean read)
    • setOutTransformElements

      public void setOutTransformElements(Map<String,String> outElements)
    • setInAppendElements

      public void setInAppendElements(Map<String,String> inElements)
    • setInTransformElements

      public void setInTransformElements(Map<String,String> inElements)
    • setOutAppendElements

      public void setOutAppendElements(Map<String,String> map)
    • setOutDropElements

      public void setOutDropElements(List<String> dropElementsSet)
    • setInDropElements

      public void setInDropElements(List<String> dropElementsSet)
    • 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 org.apache.cxf.staxutils.DocumentDepthProperties getDepthProperties()
    • setValidateBeforeWrite

      public void setValidateBeforeWrite(boolean validateBeforeWrite)
    • setValidateOutput

      public void setValidateOutput(boolean validateOutput)
    • setValidateInput

      public void setValidateInput(boolean validateInput)
    • setDepthProperties

      public void setDepthProperties(org.apache.cxf.staxutils.DocumentDepthProperties depthProperties)
    • setUnmarshallerListener

      public void setUnmarshallerListener(jakarta.xml.bind.Unmarshaller.Listener unmarshallerListener)
    • setMarshallerListener

      public void setMarshallerListener(jakarta.xml.bind.Marshaller.Listener marshallerListener)
    • setNamespaceMapperPropertyName

      public void setNamespaceMapperPropertyName(String namespaceMapperProperty)