Reformatted everything. Eclipse built-in Linewrapping/Comments 140 chars
[Mograsim.git] / era.mi / src / era / mi / logic / components / BasicComponent.java
index ad93dfe..5b63e0b 100644 (file)
@@ -1,29 +1,34 @@
 package era.mi.logic.components;
 
+import era.mi.logic.Bit;
 import era.mi.logic.Simulation;
-import era.mi.logic.WireArray;
-import era.mi.logic.WireArrayObserver;
+import era.mi.logic.wires.WireArray;
+import era.mi.logic.wires.WireArrayObserver;
 
-public abstract class BasicComponent implements WireArrayObserver
-{
+/**
+ * A basic component that recomputes all outputs (with a delay), when it is updated.
+ * 
+ * @author Fabian Stemmler
+ */
+public abstract class BasicComponent implements WireArrayObserver, Component {
        private int processTime;
-       
+
        /**
         * 
         * @param processTime Amount of time this component takes to update its outputs. Must be more than 0, otherwise 1 is assumed.
         * 
         * @author Fabian Stemmler
         */
-       public BasicComponent(int processTime)
-       {
+       public BasicComponent(int processTime) {
                this.processTime = processTime > 0 ? processTime : 1;
        }
-       
+
        @Override
-       public void update(WireArray initiator)
-       {
-               Simulation.TIMELINE.addEvent((e) -> {compute();}, processTime);
+       public void update(WireArray initiator, Bit[] oldValues) {
+               Simulation.TIMELINE.addEvent((e) -> {
+                       compute();
+               }, processTime);
        }
-       
+
        protected abstract void compute();
 }