ERXObjectStoreCoordinatorSynchronizer Class Reference

Collaboration diagram for ERXObjectStoreCoordinatorSynchronizer:

Collaboration graph
[legend]

List of all members.

Classes

class  Change
interface  IChangeListener
class  LocalChange
class  ProcessChangesQueue
class  RemoteChange
class  SynchronizerSettings

Public Member Functions

void addObjectStore (EOObjectStoreCoordinator osc)
void initializeRemoteSynchronizer ()
void objectStoreWasAdded (NSNotification n)
void objectStoreWasRemoved (NSNotification n)
void publishChange (NSNotification n)
void removeObjectStore (EOObjectStoreCoordinator osc)
void setDefaultSettings (SynchronizerSettings defaultSettings)
void setSettingsForCoordinator (SynchronizerSettings settings, EOObjectStoreCoordinator coordinator)
SynchronizerSettings settingsForCoordinator (EOObjectStoreCoordinator coordinator)
void snapshotCacheChanged (NSNotification n)
void startRemoteSynchronizer (NSNotification n)
void stopRemoteSynchronizer (NSNotification n)

Static Public Member Functions

static synchronized void _enqueueCacheChange (EODatabase database, CacheChange cacheChange)
static synchronized NSArray dequeueCacheChanges (EODatabase database)
static void initialize ()
static
ERXObjectStoreCoordinatorSynchronizer 
synchronizer ()

Static Public Attributes

static Logger log = Logger.getLogger(ERXObjectStoreCoordinatorSynchronizer.class)
static final String SYNCHRONIZER_KEY = "_synchronizer"

Static Protected Member Functions

static boolean isProcessingRemoteNotifications ()
static void setProcessingRemoteNotifications (boolean processingRemoteNotifications)

Protected Attributes

Thread _queueThread

Private Member Functions

NSArray _coordinators ()
Enumeration coordinators ()
 ERXObjectStoreCoordinatorSynchronizer ()

Private Attributes

NSMutableArray _coordinators
SynchronizerSettings _defaultSettings
ProcessChangesQueue _queue
ERXRemoteSynchronizer _remoteSynchronizer
NSMutableDictionary
< EOObjectStoreCoordinator,
SynchronizerSettings
_settings

Static Private Attributes

static NSMutableDictionary _cacheChanges = new NSMutableDictionary()
static ThreadLocal _processingRemoteNotifications = new ThreadLocal()
static
ERXObjectStoreCoordinatorSynchronizer 
_synchronizer


Detailed Description

Synchronizes different EOF stacks inside an instance. This supplements the change notification frameworks that sync different instances and should help you to run multithreaded. After calling initialize(), every ObjectStoreCoordinator that gets created will be added to the list of stacks to sync. You will need to add any stack created before initalization manually.

Constructor & Destructor Documentation


Member Function Documentation

NSArray _coordinators (  )  [private]

static synchronized void _enqueueCacheChange ( EODatabase  database,
CacheChange  cacheChange 
) [static]

void addObjectStore ( EOObjectStoreCoordinator  osc  ) 

Enumeration coordinators (  )  [private]

static synchronized NSArray dequeueCacheChanges ( EODatabase  database  )  [static]

static void initialize (  )  [static]

void initializeRemoteSynchronizer (  ) 

static boolean isProcessingRemoteNotifications (  )  [static, protected]

void objectStoreWasAdded ( NSNotification  n  ) 

void objectStoreWasRemoved ( NSNotification  n  ) 

void publishChange ( NSNotification  n  ) 

void removeObjectStore ( EOObjectStoreCoordinator  osc  ) 

void setDefaultSettings ( SynchronizerSettings  defaultSettings  ) 

static void setProcessingRemoteNotifications ( boolean  processingRemoteNotifications  )  [static, protected]

void setSettingsForCoordinator ( SynchronizerSettings  settings,
EOObjectStoreCoordinator  coordinator 
)

SynchronizerSettings settingsForCoordinator ( EOObjectStoreCoordinator  coordinator  ) 

void snapshotCacheChanged ( NSNotification  n  ) 

void startRemoteSynchronizer ( NSNotification  n  ) 

void stopRemoteSynchronizer ( NSNotification  n  ) 

static ERXObjectStoreCoordinatorSynchronizer synchronizer (  )  [static]


Member Data Documentation

ThreadLocal _processingRemoteNotifications = new ThreadLocal() [static, private]

Thread _queueThread [protected]

NSMutableDictionary<EOObjectStoreCoordinator, SynchronizerSettings> _settings [private]

Logger log = Logger.getLogger(ERXObjectStoreCoordinatorSynchronizer.class) [static]

final String SYNCHRONIZER_KEY = "_synchronizer" [static]


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:43:11 2012 for Project Wonder by  doxygen 1.5.8