package era.mi.logic.components;\r
\r
-import java.util.Arrays;\r
+import java.util.List;\r
\r
-import era.mi.logic.Bit;\r
-import era.mi.logic.wires.WireArray;\r
+import era.mi.logic.types.Bit;\r
+import era.mi.logic.types.BitVector;\r
+import era.mi.logic.wires.Wire.WireEnd;\r
\r
public class BitDisplay extends BasicComponent\r
{\r
- private final WireArray in;\r
- private Bit[] displayedValue;\r
+ private final WireEnd in;\r
+ private BitVector displayedValue;\r
\r
- public BitDisplay(WireArray in)\r
+ public BitDisplay(WireEnd in)\r
{\r
super(1);\r
this.in = in;\r
in.addObserver(this);\r
+ compute();\r
}\r
\r
@Override\r
displayedValue = in.getValues();\r
}\r
\r
- public Bit[] getDisplayedValue()\r
+ public BitVector getDisplayedValue()\r
{\r
return displayedValue;\r
}\r
\r
public boolean isDisplaying(Bit... values)\r
{\r
- return Arrays.equals(displayedValue, values);\r
+ return displayedValue.equals(BitVector.of(values));\r
+ }\r
+\r
+ @Override\r
+ public List<WireEnd> getAllInputs()\r
+ {\r
+ return List.of(in);\r
+ }\r
+\r
+ @Override\r
+ public List<WireEnd> getAllOutputs()\r
+ {\r
+ return List.of();\r
}\r
}\r