UnmarshallerHandler (Java Platform SE 8 )
Keywords: javax.xml.bind.UnmarshallerHandler interface
Date: 2023-01-18

javax.xml.bind

## Interface UnmarshallerHandler

- All Superinterfaces:
    ContentHandler

      public interface UnmarshallerHandler
      extends 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( "org.acme.foo" );

             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.

  Since:
    JAXB1.0
  See Also:
    `Unmarshaller.getUnmarshallerHandler()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

          Object getResult()
                    throws JAXBException,
                           IllegalStateException

      Obtains the unmarshalled result. This method can be called only after this handler receives the endDocument SAX event.
      Returns:
        always return a non-null valid object which was unmarshalled.
      Throws:
        `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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.