jSyncManager

org.jSyncManager.API.Threads
Interface SynchronizerListener

All Known Implementing Classes:
ApplicationJFrame, JSyncManagerFrame, Server

public interface SynchronizerListener

An interface to be implemented by classes that wish to implement Synchronizer callback functionality. Any application that wishes to use the Synchronizer class to implement data sync capabilities needs to provide a class that implements this interface the the Synchronizer instance so that the Synchronizer can make callbacks to exchange information, and to allow the application to handle app-centric processing during synchronization. Note that every call provides as a parameter the Synchronizer that generated the call. Applications that implement multiple Synchronizers should use this to differentiate between them.

Version:
$Revision: 1.7 $
Author:
Brad BARCLAY <bbarclay@jsyncmanager.org>
Last modified by: $Author: yaztromo $ on $Date: 2003/04/29 16:14:43 $.

Method Summary
 void endOfSync(Synchronizer s)
          This message is called by the Synchronizer instance specified when it has completed a synchronization.
 java.util.Vector getConduits(Synchronizer s)
          Retrieves a Vector object containing the active instances of the conduits to be synchronized.
 AbstractConduit getDefaultConduit(Synchronizer s)
          Retrieves the DefaultConduit object to be used at the end of a standard sync.
 DLPUserInfo getNewUserInfo(Synchronizer s)
          Requests new user information from the sync application.
 java.io.File getRestoreDatabasePath()
          Gets the database set to be used for the restore operation.
 int getSyncType(Synchronizer s)
          Retrieves the type of synchronization to perform.
 void midSync(Synchronizer s)
          This message is called by the Synchronizer instance specified when it has reached the mid-point of a synchronization job.
 void processUser(DLPUserInfo userInfo, Synchronizer s)
          Gives the application a chance to process the user info for the handhelds owner.
 void startOfSync(Synchronizer s)
          This message is called by the Synchronizer instance specified when it has began a synchronization job.
 boolean useTimeSync(Synchronizer s)
          Requests wether or not date and time synchronization should be used at sync time.
 boolean validateUser(int userID, Synchronizer s)
          Requests user validation from the implementing application.
 

Method Detail

endOfSync

public void endOfSync(Synchronizer s)
This message is called by the Synchronizer instance specified when it has completed a synchronization.
Parameters:
s - a reference to the Synchronizer that has completed a sync job.

getConduits

public java.util.Vector getConduits(Synchronizer s)
Retrieves a Vector object containing the active instances of the conduits to be synchronized. Conduits are only used during a standard sync. This method is not called for a backup or restore sync.
Parameters:
s - a reference to the Synchronizer that has completed a sync job.
Returns:
a Vector object containing the active instances of the conduits to be synchronized.

getDefaultConduit

public AbstractConduit getDefaultConduit(Synchronizer s)
Retrieves the DefaultConduit object to be used at the end of a standard sync.
Parameters:
s - a reference to the Synchronizer that has completed a sync job.
Returns:
the DefaultConduit object to be used at the end of a standard sync.

getNewUserInfo

public DLPUserInfo getNewUserInfo(Synchronizer s)
Requests new user information from the sync application. If the Synchronizer engine determines that the handheld contains no user information, it will request that the application provide the necessary information so it may be written to the handheld. For applications that can't handle this (such as remote servers), return null to inform the Synchronizer that it should reject this user.
Parameters:
s - a reference to the Synchronizer that has completed a sync job.
Returns:
a DLPUserInfo object describing the new user, or null.

getSyncType

public int getSyncType(Synchronizer s)
Retrieves the type of synchronization to perform. Valid return values include Synchronizer.NORMAL_SYNC, Synchronizer.BACKUP_SYNC, and Synchronizer.RESTORE_SYNC.
Parameters:
s - a reference to the Synchronizer that has completed a sync job.
Returns:
the type of synchronization to perform.

midSync

public void midSync(Synchronizer s)
This message is called by the Synchronizer instance specified when it has reached the mid-point of a synchronization job. The mid-point is defined to be after all user, system, and database info has been read, date and time synchronized (as requested), but before the main synchronization task has begun.
Parameters:
s - a reference to the Synchronizer that has reached the mid-point of a sync job.

processUser

public void processUser(DLPUserInfo userInfo,
                        Synchronizer s)
Gives the application a chance to process the user info for the handhelds owner. Processing of this information is application-specific. An application may simply return from this method with no penalty.
Parameters:
userInfo - the DLPUserInfo object for the currently synchronizing handheld.
s - a reference to the Synchronizer that has completed a sync job.

startOfSync

public void startOfSync(Synchronizer s)
This message is called by the Synchronizer instance specified when it has began a synchronization job.
Parameters:
s - a reference to the Synchronizer that has started a sync job.

useTimeSync

public boolean useTimeSync(Synchronizer s)
Requests wether or not date and time synchronization should be used at sync time. Date and Time sync will write the sync hosts current date and time to the handheld. Note however that some users may not desire this functionality, particularily if their handheld is in a different timezone than the system they're syncing against. This method allows the application to provide the user with such a choice. Note that the user shouldn't be interrupted at sync time with this question -- it should be something they are required to set/unset prior to synchronization.
Parameters:
s - a reference to the Synchronizer that has completed a sync job.
Returns:
true if the date/time should be synchronized, false otherwise.

validateUser

public boolean validateUser(int userID,
                            Synchronizer s)
Requests user validation from the implementing application. An application implementing synchronization functionality through the Synchronizer class has the option of accepting or rejecting users based on their user ID. Note that it is perfectly acceptable to hard-code this call to return true to allow anyone to sync. However, hard-coding to always return false will prevent anyone from ever synchronizing.
Parameters:
userID - int
s - a reference to the Synchronizer that has completed a sync job.
Returns:
true if the application is willing to allow this user to sync, false otherwise.

getRestoreDatabasePath

public java.io.File getRestoreDatabasePath()
Gets the database set to be used for the restore operation. If the sync type equals Synchronizer.RESTORE_SYNC, this method will be called at sync time to retreive the File containing the directory with the databases to be restored.
Returns:
the File object containing the directory of databases to be restored.

jSyncManager

Copyright (c) 1999 - 2003 Brad BARCLAY and others. All Rights Reserved.