Java™ Platform
Standard Ed. 8
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 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.
Java™ Platform
Standard Ed. 8

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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部