Interface UnmarshallerHandler

  • All Superinterfaces:
    All Known Implementing Classes:

    public interface UnmarshallerHandler
    extends org.xml.sax.ContentHandler
    Unmarshaller implemented as SAX ContentHandler.

    Applications can use this interface to use their JAXB provider as a component in an XML pipeline. For example:

           JAXBContext context = JAXBContext.newInstance( "" );
           Unmarshaller unmarshaller = context.createUnmarshaller();
           UnmarshallerHandler unmarshallerHandler = unmarshaller.getUnmarshallerHandler();
           SAXParserFactory spf = SAXParserFactory.newInstance();
           spf.setNamespaceAware( true );
           XMLReader xmlReader = spf.newSAXParser().getXMLReader();
           xmlReader.setContentHandler( unmarshallerHandler );
           xmlReader.parse(new InputSource( new FileInputStream( XML_FILE ) ) );
           MyObject myObject= (MyObject)unmarshallerHandler.getResult();                          

    This interface is reusable: even if the user fails to unmarshal an object, s/he can still start a new round of unmarshalling.

    See Also:
    • Kohsuke KAWAGUCHI, Sun Microsystems, Inc.
    1.6, JAXB 1.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Object getResult()
      Obtains the unmarshalled result.
      • Methods inherited from interface org.xml.sax.ContentHandler

        characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping
    • Method Detail

      • getResult

        java.lang.Object getResult()
                            throws JAXBException,
        Obtains the unmarshalled result. This method can be called only after this handler receives the endDocument SAX event.
        always return a non-null valid object which was unmarshalled.
        java.lang.IllegalStateException - if this method is called before this handler receives the endDocument event.
        JAXBException - if there is any unmarshalling error. Note that the implementation is allowed to throw SAXException during the parsing when it finds an error.