public class DatasetEventManager extends java.lang.Object implements MapView.EditLayerChangeListener, DataSetListenerAdapter.Listener
addDatasetListener(DataSetListener, FireMode)
Modifier and Type | Class and Description |
---|---|
static class |
DatasetEventManager.FireMode |
private static class |
DatasetEventManager.ListenerInfo |
Modifier and Type | Field and Description |
---|---|
private java.lang.Runnable |
edtRunnable |
private java.util.Queue<AbstractDatasetChangedEvent> |
eventsInEDT |
private java.util.concurrent.CopyOnWriteArrayList<DatasetEventManager.ListenerInfo> |
inEDTListeners |
private static DatasetEventManager |
instance |
private DataSetListener |
myListener |
private java.util.concurrent.CopyOnWriteArrayList<DatasetEventManager.ListenerInfo> |
normalListeners |
Constructor and Description |
---|
DatasetEventManager()
Constructs a new
DatasetEventManager . |
Modifier and Type | Method and Description |
---|---|
void |
addDatasetListener(DataSetListener listener,
DatasetEventManager.FireMode fireMode)
Register listener, that will receive events from currently active dataset
|
void |
editLayerChanged(OsmDataLayer oldLayer,
OsmDataLayer newLayer) |
private void |
fireConsolidatedEvents(java.util.List<DatasetEventManager.ListenerInfo> listeners,
AbstractDatasetChangedEvent event) |
private void |
fireEvents(java.util.List<DatasetEventManager.ListenerInfo> listeners,
AbstractDatasetChangedEvent event) |
static DatasetEventManager |
getInstance() |
void |
processDatasetEvent(AbstractDatasetChangedEvent event) |
void |
removeDatasetListener(DataSetListener listener) |
private static final DatasetEventManager instance
private final java.util.Queue<AbstractDatasetChangedEvent> eventsInEDT
private final java.util.concurrent.CopyOnWriteArrayList<DatasetEventManager.ListenerInfo> inEDTListeners
private final java.util.concurrent.CopyOnWriteArrayList<DatasetEventManager.ListenerInfo> normalListeners
private final DataSetListener myListener
private final java.lang.Runnable edtRunnable
public DatasetEventManager()
DatasetEventManager
.public static DatasetEventManager getInstance()
public void addDatasetListener(DataSetListener listener, DatasetEventManager.FireMode fireMode)
listener
- the listener to be registeredfireMode
- If DatasetEventManager.FireMode.IN_EDT
or DatasetEventManager.FireMode.IN_EDT_CONSOLIDATED
,
listener will be notified in event dispatch thread instead of thread that caused
the dataset changepublic void removeDatasetListener(DataSetListener listener)
public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer)
editLayerChanged
in interface MapView.EditLayerChangeListener
private void fireEvents(java.util.List<DatasetEventManager.ListenerInfo> listeners, AbstractDatasetChangedEvent event)
private void fireConsolidatedEvents(java.util.List<DatasetEventManager.ListenerInfo> listeners, AbstractDatasetChangedEvent event)
public void processDatasetEvent(AbstractDatasetChangedEvent event)
processDatasetEvent
in interface DataSetListenerAdapter.Listener