Project Wonder 5.0

er.extensions.eof
Class ERXObjectStoreCoordinatorSynchronizer

java.lang.Object
  extended by er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer

public class ERXObjectStoreCoordinatorSynchronizer
extends java.lang.Object

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.


Nested Class Summary
static class ERXObjectStoreCoordinatorSynchronizer.Change
           
static interface ERXObjectStoreCoordinatorSynchronizer.IChangeListener
           
static class ERXObjectStoreCoordinatorSynchronizer.LocalChange
          Holds a change notification (one transaction).
static class ERXObjectStoreCoordinatorSynchronizer.RemoteChange
           
static class ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings
           
 
Field Summary
protected  java.lang.Thread _queueThread
           
static org.apache.log4j.Logger log
           
static java.lang.String SYNCHRONIZER_KEY
           
 
Method Summary
static void _enqueueCacheChange(com.webobjects.eoaccess.EODatabase database, ERXDatabase.CacheChange cacheChange)
           
 void addObjectStore(com.webobjects.eocontrol.EOObjectStoreCoordinator osc)
           
static com.webobjects.foundation.NSArray dequeueCacheChanges(com.webobjects.eoaccess.EODatabase database)
           
static void initialize()
           
 void initializeRemoteSynchronizer()
           
protected static boolean isProcessingRemoteNotifications()
           
 void objectStoreWasAdded(com.webobjects.foundation.NSNotification n)
           
 void objectStoreWasRemoved(com.webobjects.foundation.NSNotification n)
           
 void publishChange(com.webobjects.foundation.NSNotification n)
           
 void removeObjectStore(com.webobjects.eocontrol.EOObjectStoreCoordinator osc)
           
 void setDefaultSettings(ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings defaultSettings)
           
protected static void setProcessingRemoteNotifications(boolean processingRemoteNotifications)
           
 void setSettingsForCoordinator(ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings settings, com.webobjects.eocontrol.EOObjectStoreCoordinator coordinator)
           
 ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings settingsForCoordinator(com.webobjects.eocontrol.EOObjectStoreCoordinator coordinator)
           
 void snapshotCacheChanged(com.webobjects.foundation.NSNotification n)
           
 void startRemoteSynchronizer(com.webobjects.foundation.NSNotification n)
           
 void stopRemoteSynchronizer(com.webobjects.foundation.NSNotification n)
           
static ERXObjectStoreCoordinatorSynchronizer synchronizer()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

public static org.apache.log4j.Logger log

SYNCHRONIZER_KEY

public static final java.lang.String SYNCHRONIZER_KEY
See Also:
Constant Field Values

_queueThread

protected java.lang.Thread _queueThread
Method Detail

initialize

public static void initialize()

synchronizer

public static ERXObjectStoreCoordinatorSynchronizer synchronizer()

setDefaultSettings

public void setDefaultSettings(ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings defaultSettings)

setSettingsForCoordinator

public void setSettingsForCoordinator(ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings settings,
                                      com.webobjects.eocontrol.EOObjectStoreCoordinator coordinator)

settingsForCoordinator

public ERXObjectStoreCoordinatorSynchronizer.SynchronizerSettings settingsForCoordinator(com.webobjects.eocontrol.EOObjectStoreCoordinator coordinator)

initializeRemoteSynchronizer

public void initializeRemoteSynchronizer()

startRemoteSynchronizer

public void startRemoteSynchronizer(com.webobjects.foundation.NSNotification n)

stopRemoteSynchronizer

public void stopRemoteSynchronizer(com.webobjects.foundation.NSNotification n)

objectStoreWasRemoved

public void objectStoreWasRemoved(com.webobjects.foundation.NSNotification n)

objectStoreWasAdded

public void objectStoreWasAdded(com.webobjects.foundation.NSNotification n)

addObjectStore

public void addObjectStore(com.webobjects.eocontrol.EOObjectStoreCoordinator osc)

removeObjectStore

public void removeObjectStore(com.webobjects.eocontrol.EOObjectStoreCoordinator osc)

setProcessingRemoteNotifications

protected static void setProcessingRemoteNotifications(boolean processingRemoteNotifications)

isProcessingRemoteNotifications

protected static boolean isProcessingRemoteNotifications()

publishChange

public void publishChange(com.webobjects.foundation.NSNotification n)

snapshotCacheChanged

public void snapshotCacheChanged(com.webobjects.foundation.NSNotification n)

_enqueueCacheChange

public static void _enqueueCacheChange(com.webobjects.eoaccess.EODatabase database,
                                       ERXDatabase.CacheChange cacheChange)

dequeueCacheChanges

public static com.webobjects.foundation.NSArray dequeueCacheChanges(com.webobjects.eoaccess.EODatabase database)

Last updated: Tue, Feb 21, 2017 • 05:45 PM CET

Copyright © 2002 – 2007 Project Wonder.