- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.sql.SQLException
-
- javax.sql.rowset.spi.SyncProviderException
-
- All Implemented Interfaces:
Serializable
,Iterable<Throwable>
public class SyncProviderException extends SQLException
Indicates an error with theSyncProvider
mechanism. This exception is created by aSyncProvider
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 aSyncResolver
object and either initialize theSyncProviderException
object with it at construction time or set it with theSyncProvider
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 aSyncProviderException
object and call itsgetSyncResolver
method to get itsSyncResolver
object. See the code fragment in the interface comment forSyncResolver
for an example. ThisSyncResolver
object will mirror theRowSet
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 theSyncResolver
object will benull
.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 methodgetMessage
may be called to retrieve the description if there is one.- Since:
- 1.5
- See Also:
SyncFactory
,SyncResolver
,SyncFactoryException
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SyncProviderException()
Creates a newSyncProviderException
object without a detail message.SyncProviderException(String msg)
Constructs aSyncProviderException
object with the specified detail message.SyncProviderException(SyncResolver syncResolver)
Constructs aSyncProviderException
object with the specifiedSyncResolver
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SyncResolver
getSyncResolver()
Retrieves theSyncResolver
object that has been set for thisSyncProviderException
object, or if none has been set, an instance of the defaultSyncResolver
implementation included in the reference implementation.void
setSyncResolver(SyncResolver syncResolver)
Sets theSyncResolver
object for thisSyncProviderException
object to the one supplied.-
Methods declared in class java.sql.SQLException
getErrorCode, getNextException, getSQLState, iterator, setNextException
-
Methods declared in class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods declared in interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
SyncProviderException
public SyncProviderException()
Creates a newSyncProviderException
object without a detail message.
SyncProviderException
public SyncProviderException(String msg)
Constructs aSyncProviderException
object with the specified detail message.- Parameters:
msg
- the detail message
SyncProviderException
public SyncProviderException(SyncResolver syncResolver)
Constructs aSyncProviderException
object with the specifiedSyncResolver
instance.- Parameters:
syncResolver
- theSyncResolver
instance used to to process the synchronization conflicts- Throws:
IllegalArgumentException
- if theSyncResolver
object isnull
.
-
Method Detail
getSyncResolver
public SyncResolver getSyncResolver()
Retrieves theSyncResolver
object that has been set for thisSyncProviderException
object, or if none has been set, an instance of the defaultSyncResolver
implementation included in the reference implementation.If a
SyncProviderException
object is thrown, an application may use this method to generate aSyncResolver
object with which to resolve the conflict or conflicts that caused the exception to be thrown.- Returns:
-
the
SyncResolver
object set for thisSyncProviderException
object or, if none has been set, an instance of the defaultSyncResolver
implementation. In addition, the defaultSyncResolver
implementation is also returned if theSyncResolver()
orSyncResolver(String)
constructors are used to instantiate theSyncResolver
instance.
setSyncResolver
public void setSyncResolver(SyncResolver syncResolver)
Sets theSyncResolver
object for thisSyncProviderException
object to the one supplied. If the argument supplied isnull
, a call to the methodgetSyncResolver
will return the default reference implementation of theSyncResolver
interface.- Parameters:
syncResolver
- theSyncResolver
object to be set; cannot benull
- Throws:
IllegalArgumentException
- if theSyncResolver
object isnull
.- See Also:
getSyncResolver()
-