Class SyncProviderException

All Implemented Interfaces:
Serializable, Iterable<Throwable>

public class SyncProviderException extends SQLException
Indicates an error with the SyncProvider mechanism. This exception is created by a SyncProvider abstract class extension if it encounters violations in reading from or writing to the originating data source.

If it is implemented to do so, the SyncProvider object may also create a SyncResolver object and either initialize the SyncProviderException object with it at construction time or set it with the SyncProvider object at a later time.

The method acceptChanges will throw this exception after the writer has finished checking for conflicts and has found one or more conflicts. An application may catch a SyncProviderException object and call its getSyncResolver method to get its SyncResolver object. See the code fragment in the interface comment for SyncResolver for an example. This SyncResolver object will mirror the RowSet object that generated the exception, except that it will contain only the values from the data source that are in conflict. All other values in the SyncResolver object will be null.

The SyncResolver object may be used to examine and resolve each conflict in a row and then go to the next row with a conflict to repeat the procedure.

A SyncProviderException object may or may not contain a description of the condition causing the exception. The inherited method getMessage may be called to retrieve the description if there is one.

Since:
1.5
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new SyncProviderException object without a detail message.
    Constructs a SyncProviderException object with the specified detail message.
    Constructs a SyncProviderException object with the specified SyncResolver instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieves the SyncResolver object that has been set for this SyncProviderException object, or if none has been set, an instance of the default SyncResolver implementation included in the reference implementation.
    void
    Sets the SyncResolver object for this SyncProviderException object to the one supplied.

    Methods declared in class SQLException

    getErrorCode, getNextException, getSQLState, iterator, setNextException
    Modifier and Type
    Method
    Description
    int
    Retrieves the vendor-specific exception code for this SQLException object.
    Retrieves the exception chained to this SQLException object by setNextException(SQLException ex).
    Retrieves the SQLState for this SQLException object.
    Returns an iterator over the chained SQLExceptions.
    void
    Adds an SQLException object to the end of the chain.

    Methods declared in class Throwable

    addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    Modifier and Type
    Method
    Description
    final void
    The specified exception is going to be suppressed in order to give priority to this exception (primary exception) and to be appended to the list of suppressed exceptions.
    Record in the receiver a walkback from the point where this message was sent.
    Answers the cause of this Throwable, or null if there is no cause.
    Answers the extra information message which was provided when the throwable was created.
    Answers the extra information message which was provided when the throwable was created.
    Answers an array of StackTraceElement.
    final Throwable[]
    Returns an array of exceptions suppressed, typically by the automatically generated code from the try-with-resources statement, in order to give priority to this exception (primary exception).
    initCause(Throwable throwable)
    Initialize the cause of the receiver.
    void
    Outputs a printable representation of the receiver's walkback on the System.err stream.
    void
    Outputs a printable representation of the receiver's walkback on the stream specified by the argument.
    void
    Outputs a printable representation of the receiver's walkback on the writer specified by the argument.
    void
    Sets the array of StackTraceElements.
    Answers a string containing a concise, human-readable description of the receiver.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.

    Methods declared in interface Iterable

    forEach, spliterator
    Modifier and Type
    Method
    Description
    default void
    forEach(Consumer<? super Throwable> action)
    Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception.
    Creates a Spliterator over the elements described by this Iterable.
  • Constructor Details

    • SyncProviderException

      public SyncProviderException()
      Creates a new SyncProviderException object without a detail message.
    • SyncProviderException

      public SyncProviderException(String msg)
      Constructs a SyncProviderException object with the specified detail message.
      Parameters:
      msg - the detail message
    • SyncProviderException

      public SyncProviderException(SyncResolver syncResolver)
      Constructs a SyncProviderException object with the specified SyncResolver instance.
      Parameters:
      syncResolver - the SyncResolver instance used to to process the synchronization conflicts
      Throws:
      IllegalArgumentException - if the SyncResolver object is null.
  • Method Details

    • getSyncResolver

      public SyncResolver getSyncResolver()
      Retrieves the SyncResolver object that has been set for this SyncProviderException object, or if none has been set, an instance of the default SyncResolver implementation included in the reference implementation.

      If a SyncProviderException object is thrown, an application may use this method to generate a SyncResolver object with which to resolve the conflict or conflicts that caused the exception to be thrown.

      Returns:
      the SyncResolver object set for this SyncProviderException object or, if none has been set, an instance of the default SyncResolver implementation. In addition, the default SyncResolver implementation is also returned if the SyncResolver() or SyncResolver(String) constructors are used to instantiate the SyncResolver instance.
    • setSyncResolver

      public void setSyncResolver(SyncResolver syncResolver)
      Sets the SyncResolver object for this SyncProviderException object to the one supplied. If the argument supplied is null, a call to the method getSyncResolver will return the default reference implementation of the SyncResolver interface.
      Parameters:
      syncResolver - the SyncResolver object to be set; cannot be null
      Throws:
      IllegalArgumentException - if the SyncResolver object is null.
      See Also: