Class UnmarshallerImpl

  • All Implemented Interfaces:
    jakarta.xml.bind.Unmarshaller, jakarta.xml.bind.ValidationEventHandler, Closeable, AutoCloseable

    public final class UnmarshallerImpl
    extends jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
    implements jakarta.xml.bind.ValidationEventHandler, Closeable
    Default Unmarshaller implementation.

    This class can be extended by the generated code to provide type-safe unmarshall methods.

    Author:
    Kohsuke KAWAGUCHI
    • Method Detail

      • getUnmarshallerHandler

        public jakarta.xml.bind.UnmarshallerHandler getUnmarshallerHandler()
        Specified by:
        getUnmarshallerHandler in interface jakarta.xml.bind.Unmarshaller
      • getXMLReader

        protected XMLReader getXMLReader()
                                  throws jakarta.xml.bind.JAXBException
        Obtains a configured XMLReader. This method is used when the client-specified SAXSource object doesn't have XMLReader. Unmarshaller is not re-entrant, so we will only use one instance of XMLReader. Overriden in order to fix potential security issue.
        Overrides:
        getXMLReader in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • createUnmarshallerHandler

        public final XmlVisitor createUnmarshallerHandler​(InfosetScanner scanner,
                                                          boolean inplace,
                                                          JaxBeanInfo expectedType)
        Creates and configures a new unmarshalling pipe line. Depending on the setting, we put a validator as a filter.
        Returns:
        A component that implements both UnmarshallerHandler and ValidationEventHandler. All the parsing errors should be reported to this error handler for the unmarshalling process to work correctly. Also, returned handler expects all the XML names to be interned.
      • needsInterning

        public static boolean needsInterning​(XMLReader reader)
      • unmarshal

        protected Object unmarshal​(XMLReader reader,
                                   InputSource source)
                            throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        protected <T> jakarta.xml.bind.JAXBElement<T> unmarshal​(XMLReader reader,
                                                                InputSource source,
                                                                Class<T> expectedType)
                                                         throws jakarta.xml.bind.JAXBException
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        public <T> jakarta.xml.bind.JAXBElement<T> unmarshal​(Source source,
                                                             Class<T> expectedType)
                                                      throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal0

        public Object unmarshal0​(Source source,
                                 JaxBeanInfo expectedType)
                          throws jakarta.xml.bind.JAXBException
        Throws:
        jakarta.xml.bind.JAXBException
      • getEventHandler

        public final jakarta.xml.bind.ValidationEventHandler getEventHandler()
        Specified by:
        getEventHandler in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        getEventHandler in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • hasEventHandler

        public final boolean hasEventHandler()
        Returns true if an event handler is installed.

        The default handler ignores any errors, and for that this method returns false.

      • unmarshal

        public <T> jakarta.xml.bind.JAXBElement<T> unmarshal​(Node node,
                                                             Class<T> expectedType)
                                                      throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        public final Object unmarshal​(Node node)
                               throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        @Deprecated
        public final Object unmarshal​(SAXSource source)
                               throws jakarta.xml.bind.JAXBException
        Deprecated.
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal0

        public final Object unmarshal0​(Node node,
                                       JaxBeanInfo expectedType)
                                throws jakarta.xml.bind.JAXBException
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        public Object unmarshal​(XMLStreamReader reader)
                         throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        public <T> jakarta.xml.bind.JAXBElement<T> unmarshal​(XMLStreamReader reader,
                                                             Class<T> expectedType)
                                                      throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal0

        public Object unmarshal0​(XMLStreamReader reader,
                                 JaxBeanInfo expectedType)
                          throws jakarta.xml.bind.JAXBException
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        public <T> jakarta.xml.bind.JAXBElement<T> unmarshal​(XMLEventReader reader,
                                                             Class<T> expectedType)
                                                      throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal

        public Object unmarshal​(XMLEventReader reader)
                         throws jakarta.xml.bind.JAXBException
        Specified by:
        unmarshal in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        unmarshal in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.JAXBException
      • unmarshal0

        public Object unmarshal0​(InputStream input,
                                 JaxBeanInfo expectedType)
                          throws jakarta.xml.bind.JAXBException
        Throws:
        jakarta.xml.bind.JAXBException
      • getProperty

        public Object getProperty​(String name)
                           throws jakarta.xml.bind.PropertyException
        Specified by:
        getProperty in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        getProperty in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.PropertyException
      • setProperty

        public void setProperty​(String name,
                                Object value)
                         throws jakarta.xml.bind.PropertyException
        Specified by:
        setProperty in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        setProperty in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
        Throws:
        jakarta.xml.bind.PropertyException
      • setSchema

        public void setSchema​(Schema schema)
        Specified by:
        setSchema in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        setSchema in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • getSchema

        public Schema getSchema()
        Specified by:
        getSchema in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        getSchema in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • getAttachmentUnmarshaller

        public jakarta.xml.bind.attachment.AttachmentUnmarshaller getAttachmentUnmarshaller()
        Specified by:
        getAttachmentUnmarshaller in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        getAttachmentUnmarshaller in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • setAttachmentUnmarshaller

        public void setAttachmentUnmarshaller​(jakarta.xml.bind.attachment.AttachmentUnmarshaller au)
        Specified by:
        setAttachmentUnmarshaller in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        setAttachmentUnmarshaller in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • isValidating

        public boolean isValidating()
        Deprecated.
        since 2.0
        Specified by:
        isValidating in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        isValidating in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • setValidating

        public void setValidating​(boolean validating)
        Deprecated.
        since 2.0
        Specified by:
        setValidating in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        setValidating in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • setAdapter

        public <A extends jakarta.xml.bind.annotation.adapters.XmlAdapter> void setAdapter​(Class<A> type,
                                                                                           A adapter)
        Specified by:
        setAdapter in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        setAdapter in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • getAdapter

        public <A extends jakarta.xml.bind.annotation.adapters.XmlAdapter> A getAdapter​(Class<A> type)
        Specified by:
        getAdapter in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        getAdapter in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • createUnmarshalException

        public jakarta.xml.bind.UnmarshalException createUnmarshalException​(SAXException e)
        Overrides:
        createUnmarshalException in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • handleEvent

        public boolean handleEvent​(jakarta.xml.bind.ValidationEvent event)
        Default error handling behavior for Unmarshaller.
        Specified by:
        handleEvent in interface jakarta.xml.bind.ValidationEventHandler
      • getBeanInfo

        public <T> JaxBeanInfo<T> getBeanInfo​(Class<T> clazz)
                                       throws jakarta.xml.bind.JAXBException
        Throws:
        jakarta.xml.bind.JAXBException
      • getListener

        public jakarta.xml.bind.Unmarshaller.Listener getListener()
        Specified by:
        getListener in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        getListener in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl
      • setListener

        public void setListener​(jakarta.xml.bind.Unmarshaller.Listener listener)
        Specified by:
        setListener in interface jakarta.xml.bind.Unmarshaller
        Overrides:
        setListener in class jakarta.xml.bind.helpers.AbstractUnmarshallerImpl