Merge logic of origin into logic
[Mograsim.git] / era.mi / src / era / mi / logic / components / BasicComponent.java
index 5b63e0b..7cebc60 100644 (file)
@@ -2,15 +2,16 @@ package era.mi.logic.components;
 
 import era.mi.logic.Bit;
 import era.mi.logic.Simulation;
-import era.mi.logic.wires.WireArray;
-import era.mi.logic.wires.WireArrayObserver;
+import era.mi.logic.wires.Wire;
+import era.mi.logic.wires.WireObserver;
 
 /**
  * A basic component that recomputes all outputs (with a delay), when it is updated.
  * 
  * @author Fabian Stemmler
  */
-public abstract class BasicComponent implements WireArrayObserver, Component {
+public abstract class BasicComponent implements WireObserver, Component
+{
        private int processTime;
 
        /**
@@ -19,15 +20,15 @@ public abstract class BasicComponent implements WireArrayObserver, Component {
         * 
         * @author Fabian Stemmler
         */
-       public BasicComponent(int processTime) {
+       public BasicComponent(int processTime)
+       {
                this.processTime = processTime > 0 ? processTime : 1;
        }
 
        @Override
-       public void update(WireArray initiator, Bit[] oldValues) {
-               Simulation.TIMELINE.addEvent((e) -> {
-                       compute();
-               }, processTime);
+       public void update(Wire initiator, Bit[] oldValues)
+       {
+               Simulation.TIMELINE.addEvent(e -> compute(), processTime);
        }
 
        protected abstract void compute();