|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
javax.xml.bind Interface UnmarshallerHandler
- All Superinterfaces:
- ContentHandler
public interface UnmarshallerHandler
- extends ContentHandler
Implements:
org.xml.sax.ContentHandler
作为 SAX ContentHandler 实现的 Unmarshaller。
应用程序可以使用此接口将其 JAXB 提供者用作 XML 管线中的一个组件。例如:
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();
此接口是可重用的:即使用户解组某一对象时失败,她/他仍可开始新一轮的解组。
version |
| |
since | JAXB1.0 | |
See also | getUnmarshallerHandler() |
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
- Version:
- $Revision: 1.2 $ $Date: 2006/03/08 16:55:17 $
- Author:
- Kohsuke KAWAGUCHI, Sun Microsystems, Inc.
- See Also:
Unmarshaller.getUnmarshallerHandler()
Method Summary | |
---|---|
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 |
---|
public Object
getResult() throws JAXBException, IllegalStateException
获得解组的结果。此方法只能在此处理程序接收 endDocument SAX 事件之后调用。
Throws | IllegalStateException: 如果在此处理程序接收 endDocument 事件之前调用此方法。 |
Throws | JAXBException: 如果出现任何解组错误。注意,允许该实现在解析错误期间抛出 SAXException。 |
return | 总是返回被解组的非 null 有效对象。 |
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Submit a bug or feature
Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!