パッケージ jakarta.xml.bind

インターフェース UnmarshallerHandler

  • すべてのスーパーインターフェース:
    ContentHandlerSE

    public interface UnmarshallerHandler
    extends ContentHandlerSE
    Unmarshaller は SAX ContentHandler として実装されています。

    アプリケーションはこのインターフェースを使用して、Jakarta XML Binding プロバイダーを 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();                          
     

    このインターフェースは再利用可能です: ユーザーがオブジェクトのアンマーシャリングに失敗した場合でも、ユーザーは新しいラウンドのアンマーシャリングを開始できます。

    導入:
    1.6、JAXB 1.0
    作成者:
    • Kohsuke KAWAGUCHI, Sun Microsystems, Inc.
    関連事項:
    Unmarshaller.getUnmarshallerHandler()
    • メソッドの詳細

      • getResult

        ObjectSE getResult()
                  throws JAXBException,
                         IllegalStateExceptionSE
        アンマーシャリングされた結果を取得します。このメソッドは、このハンドラーが endDocument SAX イベントを受信した後にのみ呼び出すことができます。
        戻り値:
        マーシャリングされていない null 以外の有効なオブジェクトを常に返します。
        例外:
        IllegalStateExceptionSE - このハンドラーが endDocument イベントを受信する前にこのメソッドが呼び出された場合。
        JAXBException - マーシャリング解除エラーがある場合。実装は、エラーが見つかった場合、解析中に SAXException をスローできることに注意してください。