\r
import java.util.List;\r
\r
+import era.mi.logic.timeline.Timeline;\r
import era.mi.logic.wires.Wire.ReadEnd;\r
import era.mi.logic.wires.Wire.ReadWriteEnd;\r
\r
-public interface Component\r
+public abstract class Component\r
{\r
+ protected Timeline timeline;\r
+\r
+ public Component(Timeline timeline)\r
+ {\r
+ this.timeline = timeline;\r
+ }\r
\r
/**\r
* Returns immutable list of all inputs to the {@link Component} (including e.g. the select bits to a MUX). Intended for visualization\r
* in the UI.\r
*/\r
- public List<ReadEnd> getAllInputs();\r
+ public abstract List<ReadEnd> getAllInputs();\r
\r
/**\r
* Returns immutable list of all outputs to the {@link Component}. Intended for visualization in the UI.\r
*/\r
- public List<ReadWriteEnd> getAllOutputs();\r
+ public abstract List<ReadWriteEnd> getAllOutputs();\r
}\r