
public class DatabaseEventManager extends Object
| Modifier and Type | Field and Description |
|---|---|
private boolean |
accumulateDataStoreEvents
Indicates whether DataStoreEvents should be accumulated and fired as one event on
demand.
|
private DataStoreEvent.Type |
currentDataStoreEventType
The type of the current DataStoreEvent to be accumulated.
|
private HashSetModifiableDBIDs |
dataStoreObjects
The objects that were changed in the current DataStoreEvent.
|
private EventListenerList |
listenerList
Holds 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
DataStoreListener for a DataStoreEvent
posted after the content of the database changes. |
void |
addListener(ResultListener l)
Adds a
ResultListener to 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
ResultListener that a new result was
added. |
void |
fireResultRemoved(Result r,
Result parent)
Informs all registered
ResultListener that 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
DataStoreListener previously added with
addListener(DataStoreListener). |
void |
removeListener(ResultListener l)
Removes a
ResultListener previously added with
addListener(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