モジュール java.xml.bind
パッケージ javax.xml.bind

インタフェースUnmarshallerHandler

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

    public interface UnmarshallerHandler
    extends 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();
     

    このインタフェースは再利用可能です。ユーザーがオブジェクトを非整列化できなかった場合でも、非整列化の新しいラウンドを開始できます。

    導入されたバージョン:
    1.6, JAXB 1.0
    関連項目:
    Unmarshaller.getUnmarshallerHandler()
    • メソッドの詳細

      • getResult

        Object getResult()
                  throws JAXBException,
                         IllegalStateException
        非整列化された結果を取得します。 このハンドラがendDocument SAXイベントを受け取ったあとのみ、このメソッドを呼び出すことができます。
        戻り値:
        常に非整列化されたnull以外の有効なオブジェクトを返す。
        例外:
        IllegalStateException - このハンドラがendDocumentイベントを受け取る前に、このメソッドが呼び出された場合。
        JAXBException - 非整列化エラーが存在する場合。 この実装は、構文解析中にエラーを検出した場合、SAXExceptionをスローすることを許可されている。