JavaTM 2 Platform Std. Ed. v1.6.0
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()
Methods inherited from interface org.xml.sax.ContentHandler |
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping |
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.
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|