]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.simulation/src/org/simantics/simulation/data/AbstractDatasource.java
Simulator toolkit enhancements
[simantics/platform.git] / bundles / org.simantics.simulation / src / org / simantics / simulation / data / AbstractDatasource.java
index 4a15cba5214eb4eed4bdeb540a2f925a9b3fa97e..7b6e791daafbc8489e4c3c75f699b46d472bf0bb 100644 (file)
@@ -20,7 +20,7 @@ import org.simantics.utils.datastructures.ListenerList;
  */
 public abstract class AbstractDatasource implements Datasource {
 
-    protected ListenerList<DatasourceListener> listeners = new ListenerList<DatasourceListener>(DatasourceListener.class);
+    protected ListenerList<DatasourceListener> listeners = new ListenerList<>(DatasourceListener.class);
     protected Lock readLock, writeLock;
 
     public AbstractDatasource() {
@@ -40,20 +40,20 @@ public abstract class AbstractDatasource implements Datasource {
         listeners.remove(listener);
     }
 
-    protected void notifyStep() {
-        for (final DatasourceListener l : listeners.getListeners()) {
+    protected void notifyStep(Datasource source) {
+        for (DatasourceListener l : listeners.getListeners()) {
             if (l.getExecutor() == null) {
-                l.onStep( AbstractDatasource.this );
+                l.onStep( source );
             } else {
-                l.getExecutor().execute(new Runnable() {
-                    public void run() {
-                        l.onStep(AbstractDatasource.this);
-                    }
-                });
+                l.getExecutor().execute(() -> l.onStep(source));
             }
         }
     }
 
+    protected void notifyStep() {
+        notifyStep(AbstractDatasource.this);
+    }
+
     @Override
     public Lock readLock() {
         return readLock;