Added project specific format; Default values in WireArray are now U
[Mograsim.git] / era.mi / src / era / mi / logic / components / ManualSwitch.java
index 34c603c..c56d802 100644 (file)
@@ -4,7 +4,7 @@ import java.util.List;
 
 import era.mi.logic.Bit;
 import era.mi.logic.wires.WireArray;
-import era.mi.logic.wires.WireArray.WireArrayInput;
+import era.mi.logic.wires.WireArray.WireArrayEnd;
 
 /**
  * This class models a simple on/off (ONE/ZERO) switch for user interaction.
@@ -12,52 +12,62 @@ import era.mi.logic.wires.WireArray.WireArrayInput;
  * @author Christian Femers
  *
  */
-public class ManualSwitch implements Component {
+public class ManualSwitch implements Component
+{
        private WireArray output;
-       private WireArrayInput outputI;
+       private WireArrayEnd outputI;
        private boolean isOn;
 
-       public ManualSwitch(WireArray output) {
+       public ManualSwitch(WireArray output)
+       {
                if (output.length != 1)
                        throw new IllegalArgumentException("Switch output can be only a single wire");
                this.output = output;
                this.outputI = output.createInput();
        }
 
-       public void switchOn() {
+       public void switchOn()
+       {
                setState(true);
        }
 
-       public void switchOff() {
+       public void switchOff()
+       {
                setState(false);
        }
 
-       public void toggle() {
+       public void toggle()
+       {
                setState(!isOn);
        }
 
-       public void setState(boolean isOn) {
+       public void setState(boolean isOn)
+       {
                if (this.isOn == isOn)
                        return;
                this.isOn = isOn;
                outputI.feedSignals(getValue());
        }
 
-       public boolean isOn() {
+       public boolean isOn()
+       {
                return isOn;
        }
 
-       public Bit getValue() {
+       public Bit getValue()
+       {
                return isOn ? Bit.ONE : Bit.ZERO;
        }
 
        @Override
-       public List<WireArray> getAllInputs() {
+       public List<WireArray> getAllInputs()
+       {
                return List.of();
        }
 
        @Override
-       public List<WireArray> getAllOutputs() {
+       public List<WireArray> getAllOutputs()
+       {
                return List.of(output);
        }