Integrated new types, tests still work, not used yet
[Mograsim.git] / era.mi / src / era / mi / logic / components / ManualSwitch.java
index 142c55d..c4b4ffa 100644 (file)
@@ -2,9 +2,8 @@ package era.mi.logic.components;
 \r
 import java.util.List;\r
 \r
-import era.mi.logic.Bit;\r
-import era.mi.logic.wires.WireArray;\r
-import era.mi.logic.wires.WireArray.WireArrayInput;\r
+import era.mi.logic.types.Bit;\r
+import era.mi.logic.wires.Wire.WireEnd;\r
 \r
 /**\r
  * This class models a simple on/off (ONE/ZERO) switch for user interaction.\r
@@ -12,60 +11,60 @@ import era.mi.logic.wires.WireArray.WireArrayInput;
  * @author Christian Femers\r
  *\r
  */\r
-public final class ManualSwitch implements Component \r
+public class ManualSwitch implements Component\r
 {\r
-       private WireArray output;\r
-       private WireArrayInput outputI;\r
+       private WireEnd output;\r
        private boolean isOn;\r
-       \r
-       public ManualSwitch(WireArray output) \r
+\r
+       public ManualSwitch(WireEnd output)\r
        {\r
-               if(output.length != 1)\r
+               if (output.length() != 1)\r
                        throw new IllegalArgumentException("Switch output can be only a single wire");\r
                this.output = output;\r
-               this.outputI = output.createInput();\r
        }\r
-       \r
+\r
        public void switchOn()\r
        {\r
                setState(true);\r
        }\r
-       \r
+\r
        public void switchOff()\r
        {\r
                setState(false);\r
        }\r
-       \r
+\r
        public void toggle()\r
        {\r
                setState(!isOn);\r
        }\r
-       \r
+\r
        public void setState(boolean isOn)\r
        {\r
-               if(this.isOn == isOn)\r
+               if (this.isOn == isOn)\r
                        return;\r
                this.isOn = isOn;\r
-               outputI.feedSignals(getValue());\r
+               output.feedSignals(getValue());\r
        }\r
-       \r
+\r
        public boolean isOn()\r
        {\r
                return isOn;\r
        }\r
-       \r
+\r
        public Bit getValue()\r
        {\r
                return isOn ? Bit.ONE : Bit.ZERO;\r
        }\r
 \r
        @Override\r
-       public List<WireArray> getAllInputs() {\r
+       public List<WireEnd> getAllInputs()\r
+       {\r
                return List.of();\r
        }\r
 \r
        @Override\r
-       public List<WireArray> getAllOutputs() {\r
+       public List<WireEnd> getAllOutputs()\r
+       {\r
                return List.of(output);\r
        }\r
 \r