public interface UnmarshallerHandler extends 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.
Unmarshaller.getUnmarshallerHandler()
Modifier and Type | Method and Description |
---|---|
Object |
getResult()
Obtains the unmarshalled result.
|
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping
Object getResult() throws JAXBException, IllegalStateException
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.Copyright © 2012 JBoss by Red Hat. All Rights Reserved.