Did some clean up
[Mograsim.git] / era.mi / src / era / mi / logic / components / BitDisplay.java
1 package era.mi.logic.components;\r
2 \r
3 import java.util.Arrays;\r
4 import java.util.List;\r
5 \r
6 import era.mi.logic.Bit;\r
7 import era.mi.logic.wires.WireArray;\r
8 \r
9 public class BitDisplay extends BasicComponent\r
10 {\r
11         private final WireArray in;\r
12         private Bit[] displayedValue;\r
13 \r
14         public BitDisplay(WireArray in)\r
15         {\r
16                 super(1);\r
17                 this.in = in;\r
18                 in.addObserver(this);\r
19                 compute();\r
20         }\r
21 \r
22         @Override\r
23         protected void compute()\r
24         {\r
25                 displayedValue = in.getValues();\r
26         }\r
27 \r
28         public Bit[] getDisplayedValue()\r
29         {\r
30                 return displayedValue;\r
31         }\r
32 \r
33         public boolean isDisplaying(Bit... values)\r
34         {\r
35                 return Arrays.equals(displayedValue, values);\r
36         }\r
37 \r
38         @Override\r
39         public List<WireArray> getAllInputs()\r
40         {\r
41                 return List.of(in);\r
42         }\r
43 \r
44         @Override\r
45         public List<WireArray> getAllOutputs()\r
46         {\r
47                 return List.of();\r
48         }\r
49 }\r