X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FManualSwitch.java;h=34c603c16a1445dda4a5bb1146cbedabb4a1a7b5;hb=74aebd92f41d03f4a44c9a455ef8c05465136412;hp=5e6a00c133eda7fa7eee1963b2fda448ddef2fb2;hpb=62bde086cd9895a0de2b0c3d242e546c263ea5a0;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/ManualSwitch.java b/era.mi/src/era/mi/logic/components/ManualSwitch.java index 5e6a00c1..34c603c1 100644 --- a/era.mi/src/era/mi/logic/components/ManualSwitch.java +++ b/era.mi/src/era/mi/logic/components/ManualSwitch.java @@ -12,50 +12,42 @@ import era.mi.logic.wires.WireArray.WireArrayInput; * @author Christian Femers * */ -public final class ManualSwitch implements Component -{ +public class ManualSwitch implements Component { private WireArray output; private WireArrayInput outputI; private boolean isOn; - - public ManualSwitch(WireArray output) - { - if(output.length != 1) + + 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) - { - if(this.isOn == 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; }