パッケージ jakarta.xml.bind

インターフェース ValidationEventHandler

  • すべての既知の実装クラス:
    DefaultValidationEventHandlerValidationEventCollector

    public interface ValidationEventHandler
    検証エラー用の基本的なイベントハンドラーインターフェース。

    アプリケーションがカスタマイズされたイベント処理を実装する必要がある場合は、このインターフェースを実装し、それを Unmarshaller または Marshaller に登録する必要があります。Jakarta XML Binding Provider は、アンマーシャリング、マーシャリング、検証操作中に発生した検証エラーと警告をこれらのイベントハンドラーに報告します。

    handleEvent メソッドが未チェックのランタイム例外をスローした場合、Jakarta XML Binding Provider は、メソッドが false を返したかのようにそれを処理し、その時点で進行中の操作(アンマーシャル、検証、マーシャル)を効果的に終了する必要があります。

    イベントハンドラー内で Java コンテンツツリーを変更することは仕様によって定義されておらず、予期しない動作が発生する可能性があります。

    致命的なエラーが発生した後に handleEvent メソッドから false を返さないことは、仕様では定義されておらず、予期しない動作が発生する可能性があります。

    デフォルトのイベントハンドラー

    クライアントアプリケーションが、validate、unmarshal、marshal メソッドを呼び出す前に Unmarshaller または Marshaller にイベントハンドラーを設定しない場合、既定のイベントハンドラーは、発生したエラーまたは警告の通知を受け取ります。デフォルトのイベントハンドラーは、最初のエラーまたは致命的なエラーが発生した後、現在の操作を停止させます (ただし、警告を受け取った後は続行を試みます)。
    導入:
    1.6、JAXB 1.0
    作成者:
    • Ryan Shoemaker, Sun Microsystems, Inc.
    • Kohsuke Kawaguchi, Sun Microsystems, Inc.
    • Joe Fialli, Sun Microsystems, Inc.
    関連事項:
    Unmarshaller, Marshaller, ValidationEvent, ValidationEventCollector
    • メソッドの詳細

      • handleEvent

        boolean handleEvent​(ValidationEvent event)
        検証の警告またはエラーの通知を受け取ります。ValidationEvent には、エラーまたは警告が発生した場所を示す ValidationEventLocator が埋め込まれます。

        このメソッドから未チェックのランタイム例外がスローされた場合、Jakarta XML Binding プロバイダーは、メソッドが false を返したかのようにそれを処理し、現在のアンマーシャル、検証、マーシャル操作を中断します。

        パラメーター:
        event - カプセル化された検証イベント情報。このパラメーターが null の場合、プロバイダーエラーです。
        戻り値:
        Jakarta XML Binding Provider がこの警告 / エラーを処理した後に現在のアンマーシャリング、検証、マーシャリング操作を続行しようとする場合は true、プロバイダーが適切な UnmarshalExceptionValidationExceptionMarshalException で現在の操作を終了する必要がある場合は false。
        例外:
        IllegalArgumentExceptionSE - イベントオブジェクトが null の場合。