71e0f92386c030d4ffd11117c23a3d2f74253e42
[Mograsim.git] / era.mi / src / net / mograsim / logic / core / components / Component.java
1 package net.mograsim.logic.core.components;\r
2 \r
3 import java.util.List;\r
4 \r
5 import net.mograsim.logic.core.timeline.Timeline;\r
6 import net.mograsim.logic.core.wires.Wire.ReadEnd;\r
7 import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;\r
8 \r
9 public abstract class Component\r
10 {\r
11         protected Timeline timeline;\r
12 \r
13         public Component(Timeline timeline)\r
14         {\r
15                 this.timeline = timeline;\r
16         }\r
17 \r
18         /**\r
19          * Returns immutable list of all inputs to the {@link Component} (including e.g. the select bits to a MUX). Intended for visualization\r
20          * in the UI.\r
21          */\r
22         public abstract List<ReadEnd> getAllInputs();\r
23 \r
24         /**\r
25          * Returns immutable list of all outputs to the {@link Component}. Intended for visualization in the UI.\r
26          */\r
27         public abstract List<ReadWriteEnd> getAllOutputs();\r
28 }\r