WireEnd functionality split into ReadEnd and ReadWriteEnd
[Mograsim.git] / era.mi / src / era / mi / logic / components / BitDisplay.java
index f783c62..f34c923 100644 (file)
@@ -1,16 +1,18 @@
 package era.mi.logic.components;
 
-import java.util.Arrays;
+import java.util.List;
 
-import era.mi.logic.Bit;
-import era.mi.logic.wires.WireArray;
+import era.mi.logic.types.Bit;
+import era.mi.logic.types.BitVector;
+import era.mi.logic.wires.Wire.ReadEnd;
+import era.mi.logic.wires.Wire.ReadWriteEnd;
 
 public class BitDisplay extends BasicComponent
 {
-       private final WireArray in;
-       private Bit[] displayedValue;
+       private final ReadEnd in;
+       private BitVector displayedValue;
 
-       public BitDisplay(WireArray in)
+       public BitDisplay(ReadEnd in)
        {
                super(1);
                this.in = in;
@@ -24,13 +26,25 @@ public class BitDisplay extends BasicComponent
                displayedValue = in.getValues();
        }
 
-       public Bit[] getDisplayedValue()
+       public BitVector getDisplayedValue()
        {
                return displayedValue;
        }
 
        public boolean isDisplaying(Bit... values)
        {
-               return Arrays.equals(displayedValue, values);
+               return displayedValue.equals(BitVector.of(values));
+       }
+
+       @Override
+       public List<ReadEnd> getAllInputs()
+       {
+               return List.of(in);
+       }
+
+       @Override
+       public List<ReadWriteEnd> getAllOutputs()
+       {
+               return List.of();
        }
 }