
public class DatabaseEventManager extends Object
| Modifier and Type | Field and Description | 
|---|---|
| private boolean | accumulateDataStoreEventsIndicates whether DataStoreEvents should be accumulated and fired as one event on
 demand. | 
| private DataStoreEvent.Type | currentDataStoreEventTypeThe type of the current DataStoreEvent to be accumulated. | 
| private HashSetModifiableDBIDs | dataStoreObjectsThe objects that were changed in the current DataStoreEvent. | 
| private EventListenerList | listenerListHolds the listener. | 
| Constructor and Description | 
|---|
| DatabaseEventManager() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | accumulateDataStoreEvents()Collects successive insertion, deletion or update events. | 
| void | addListener(DataStoreListener l)Adds a  DataStoreListenerfor aDataStoreEventposted after the content of the database changes. | 
| void | addListener(ResultListener l)Adds a  ResultListenerto be notified on new results. | 
| private void | fireObjectChanged(DBIDRef object,
                 DataStoreEvent.Type type)Handles a DataStoreEvent with the specified type. | 
| void | fireObjectInserted(DBIDRef insertion)Convenience method, calls  fireObjectChanged(insertion,
 DataStoreEvent.Type.INSERT). | 
| protected void | fireObjectRemoved(DBIDRef deletion)Convenience method, calls  fireObjectChanged(deletion,
 DataStoreEvent.Type.DELETE). | 
| private void | fireObjectsChanged(DBIDs objects,
                  DataStoreEvent.Type type)Handles a DataStoreEvent with the specified type. | 
| void | fireObjectsInserted(DBIDs insertions)Convenience method, calls  fireObjectsChanged(insertions,
 DataStoreEvent.Type.INSERT). | 
| protected void | fireObjectsRemoved(DBIDs deletions)Convenience method, calls  fireObjectsChanged(deletions,
 DataStoreEvent.Type.DELETE). | 
| void | fireObjectsUpdated(DBIDs updates)Convenience method, calls  fireObjectsChanged(updates,
 DataStoreEvent.Type.UPDATE). | 
| void | fireResultAdded(Result r,
               Result parent)Informs all registered  ResultListenerthat a new result was
 added. | 
| void | fireResultRemoved(Result r,
                 Result parent)Informs all registered  ResultListenerthat a new result has
 been removed. | 
| void | flushDataStoreEvents()Fires all collected insertion, deletion or update events as one
 DataStoreEvent, i.e. notifies all registered DataStoreListener how the
 content of the database has been changed since
  accumulateDataStoreEvents()was called. | 
| void | removeListener(DataStoreListener l)Removes a  DataStoreListenerpreviously added withaddListener(DataStoreListener). | 
| void | removeListener(ResultListener l)Removes a  ResultListenerpreviously added withaddListener(ResultListener). | 
private EventListenerList listenerList
private boolean accumulateDataStoreEvents
private DataStoreEvent.Type currentDataStoreEventType
private HashSetModifiableDBIDs dataStoreObjects
public void accumulateDataStoreEvents()
flushDataStoreEvents() is called or a
 different event type occurs.flushDataStoreEvents(), 
DataStoreEventpublic void flushDataStoreEvents()
accumulateDataStoreEvents() was called.public void addListener(DataStoreListener l)
DataStoreListener for a DataStoreEvent
 posted after the content of the database changes.l - the listener to addremoveListener(DataStoreListener), 
DataStoreListener, 
DataStoreEventpublic void removeListener(DataStoreListener l)
DataStoreListener previously added with
 addListener(DataStoreListener).l - the listener to removeaddListener(DataStoreListener), 
DataStoreListener, 
DataStoreEventpublic void addListener(ResultListener l)
ResultListener to be notified on new results.l - the listener to addremoveListener(ResultListener), 
ResultListener, 
Resultpublic void removeListener(ResultListener l)
ResultListener previously added with
 addListener(ResultListener).l - the listener to removeaddListener(ResultListener), 
ResultListener, 
Resultpublic void fireObjectsInserted(DBIDs insertions)
fireObjectsChanged(insertions,
 DataStoreEvent.Type.INSERT).insertions - the objects that have been insertedfireObjectsChanged(de.lmu.ifi.dbs.elki.database.ids.DBIDs, de.lmu.ifi.dbs.elki.database.datastore.DataStoreEvent.Type), 
DataStoreEvent.Type.INSERTpublic void fireObjectInserted(DBIDRef insertion)
fireObjectChanged(insertion,
 DataStoreEvent.Type.INSERT).insertion - the object that has been insertedfireObjectsChanged(de.lmu.ifi.dbs.elki.database.ids.DBIDs, de.lmu.ifi.dbs.elki.database.datastore.DataStoreEvent.Type), 
DataStoreEvent.Type.INSERTpublic void fireObjectsUpdated(DBIDs updates)
fireObjectsChanged(updates,
 DataStoreEvent.Type.UPDATE).updates - the objects that have been updatedfireObjectsChanged(de.lmu.ifi.dbs.elki.database.ids.DBIDs, de.lmu.ifi.dbs.elki.database.datastore.DataStoreEvent.Type), 
DataStoreEvent.Type.UPDATEprotected void fireObjectsRemoved(DBIDs deletions)
fireObjectsChanged(deletions,
 DataStoreEvent.Type.DELETE).deletions - the objects that have been removedfireObjectsChanged(de.lmu.ifi.dbs.elki.database.ids.DBIDs, de.lmu.ifi.dbs.elki.database.datastore.DataStoreEvent.Type), 
DataStoreEvent.Type.DELETEprotected void fireObjectRemoved(DBIDRef deletion)
fireObjectChanged(deletion,
 DataStoreEvent.Type.DELETE).deletion - the object that has been removedfireObjectsChanged(de.lmu.ifi.dbs.elki.database.ids.DBIDs, de.lmu.ifi.dbs.elki.database.datastore.DataStoreEvent.Type), 
DataStoreEvent.Type.DELETEprivate void fireObjectsChanged(DBIDs objects, DataStoreEvent.Type type)
accumulateDataStoreEvents is set, otherwise all registered
 DataStoreListener will be notified immediately that the
 content of the database has been changed.objects - the objects that have been changed, i.e. inserted, deleted
        or updatedprivate void fireObjectChanged(DBIDRef object, DataStoreEvent.Type type)
accumulateDataStoreEvents is set, otherwise all registered
 DataStoreListener will be notified immediately that the
 content of the database has been changed.object - the object that has been changed, i.e. inserted, deleted
        or updatedpublic void fireResultAdded(Result r, Result parent)
ResultListener that a new result was
 added.r - New child result addedparent - Parent result that was added to