Class 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>
    • Field Detail

      • collectionContextClasses

        protected Set<Class<?>> collectionContextClasses
      • objectFactoryOrIndexMap

        protected Map<String,​Boolean> objectFactoryOrIndexMap
      • unmarshalAsJaxbElement

        protected boolean unmarshalAsJaxbElement
      • marshalAsJaxbElement

        protected boolean marshalAsJaxbElement
      • xmlTypeAsJaxbElementOnly

        protected boolean xmlTypeAsJaxbElementOnly
      • outDropElements

        protected List<String> outDropElements
      • inDropElements

        protected List<String> inDropElements
      • packageContexts

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

        protected Map<Class<?>,​javax.xml.bind.JAXBContext> classContexts
    • Constructor Detail

      • AbstractJAXBProvider

        public AbstractJAXBProvider()
    • Method Detail

      • setXmlRootAsJaxbElement

        public void setXmlRootAsJaxbElement​(boolean xmlRootAsJaxbElement)
      • 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)
      • 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)
      • getJaxbElementClass

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

        public void setCollectionWrapperName​(String wName)
      • setCollectionWrapperMap

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

        public boolean isWriteable​(Class<?> type,
                                   Type genericType,
                                   Annotation[] anns,
                                   javax.ws.rs.core.MediaType mt)
        Specified by:
        isWriteable in interface javax.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:
        IOException
        javax.ws.rs.WebApplicationException
      • getCollectionContext

        protected javax.xml.bind.JAXBContext getCollectionContext​(Class<?> type)
                                                           throws javax.xml.bind.JAXBException
        Throws:
        javax.xml.bind.JAXBException
      • isReadable

        public boolean isReadable​(Class<?> type,
                                  Type genericType,
                                  Annotation[] anns,
                                  javax.ws.rs.core.MediaType mt)
        Specified by:
        isReadable in interface javax.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)
      • 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:
        getSize in interface javax.ws.rs.ext.MessageBodyWriter<T>
      • 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
      • getSchema

        protected Schema getSchema()
      • getSchema

        protected Schema getSchema​(Class<?> cls)
      • clearContexts

        public void clearContexts()
      • 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)
      • 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()
      • setValidateBeforeWrite

        public void setValidateBeforeWrite​(boolean validateBeforeWrite)
      • setValidateOutput

        public void setValidateOutput​(boolean validateOutput)
      • setValidateInput

        public void setValidateInput​(boolean validateInput)
      • 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)