モジュール java.sql.rowset
パッケージ javax.sql.rowset.spi

クラスSyncProviderException

  • すべての実装されたインタフェース:
    Serializable, Iterable<Throwable>

    public class SyncProviderException
    extends SQLException
    SyncProviderメカニズムで発生したエラーを示します。 SyncProvider abstractクラスの拡張は、元のデータ・ソースの読み取りまたは書込み違反を検出すると、例外を作成します。

    実装では、SyncProviderオブジェクトでSyncResolverオブジェクトも作成し、構築時にそのオブジェクトを使用して、SyncProviderExceptionオブジェクトを初期化するか、またはあとでSyncProviderオブジェクトに設定できます。

    acceptChangesメソッドは、ライターが競合のチェックを終了し、競合を発見したあとに、この例外をスローします。 アプリケーションはSyncProviderExceptionオブジェクトをキャッチし、そのgetSyncResolverメソッドを呼び出して、SyncResolverオブジェクトを取得できます。 たとえば、SyncResolverのインタフェース・コメントのコードの抜粋を参照してください。 このSyncResolverオブジェクトは、例外を生成したRowSetオブジェクトをミラー化したものですが、違う点はデータ・ソースから競合の発生している値のみ格納していることです。 SyncResolverオブジェクトのその他のすべての値がnullになります。

    SyncResolverオブジェクトを使用して、行内の各競合を調査し、解決したら、競合のある次の行へ移動して、この手順を繰り返します。

    SyncProviderExceptionオブジェクトには例外の原因となっている状況の説明が含まれる場合と含まれない場合があります。 継承されたgetMessageメソッドを呼び出して、その説明が存在すれば取得できます。

    導入されたバージョン:
    1.5
    関連項目:
    SyncFactorySyncResolverSyncFactoryExceptionSerialized Form
    • コンストラクタの詳細

      • SyncProviderException

        public SyncProviderException()
        詳細メッセージを指定しないSyncProviderExceptionオブジェクトを新しく作成します。
      • SyncProviderException

        public SyncProviderException​(String msg)
        指定された詳細メッセージを含むSyncProviderExceptionオブジェクトを構築します。
        パラメータ:
        msg - 詳細メッセージ
      • SyncProviderException

        public SyncProviderException​(SyncResolver syncResolver)
        指定されたSyncResolverインスタンスを含むSyncProviderExceptionオブジェクトを構築します。
        パラメータ:
        syncResolver - 同期競合の処理に使用するSyncResolverインスタンス
        例外:
        IllegalArgumentException - SyncResolverオブジェクトがnullである場合。
    • メソッドの詳細

      • getSyncResolver

        public SyncResolver getSyncResolver()
        このSyncProviderExceptionオブジェクトに設定されたSyncResolverオブジェクトを取得します。または何も設定されていない場合は、リファレンス実装に含まれるデフォルトのSyncResolver実装のインスタンスを取得します。

        SyncProviderExceptionオブジェクトがスローされた場合に、アプリケーションはこのメソッドを使用して、SyncResolverオブジェクトを生成し、このオブジェクトにより、例外がスローされる原因となっている競合を解決できます。

        戻り値:
        このSyncProviderExceptionオブジェクトに設定されたSyncResolverオブジェクト。または何も設定されていない場合は、デフォルトのSyncResolver実装のインスタンス。 さらに、SyncResolver()またはSyncResolver(String)コンストラクタを使用して、SyncResolverインスタンスをインスタンス化している場合は、デフォルトのSyncResolver実装も返される。
      • setSyncResolver

        public void setSyncResolver​(SyncResolver syncResolver)
        このSyncProviderExceptionオブジェクトのSyncResolverオブジェクトを指定されたオブジェクトに設定します。 指定された引数がnullの場合、getSyncResolverメソッドへの呼出しで、SyncResolverインタフェースのデフォルトのリファレンス実装が返されます。
        パラメータ:
        syncResolver - 設定されるSyncResolverオブジェクト。nullは不可
        例外:
        IllegalArgumentException - SyncResolverオブジェクトがnullである場合。
        関連項目:
        getSyncResolver()