1 package era.mi.logic.components.gates;
\r
3 import java.util.Arrays;
\r
4 import java.util.Collections;
\r
5 import java.util.List;
\r
7 import era.mi.logic.Util;
\r
8 import era.mi.logic.components.BasicComponent;
\r
9 import era.mi.logic.wires.Wire.WireEnd;
\r
11 public class NotGate extends BasicComponent
\r
14 private WireEnd out;
\r
16 public NotGate(int processTime, WireEnd in, WireEnd out)
\r
20 in.addObserver(this);
\r
25 protected void compute()
\r
27 out.feedSignals(Util.not(in.getValues()));
\r
30 public WireEnd getIn()
\r
35 public WireEnd getOut()
\r
41 public List<WireEnd> getAllInputs()
\r
43 return Collections.unmodifiableList(Arrays.asList(in));
\r
47 public List<WireEnd> getAllOutputs()
\r
49 return Collections.unmodifiableList(Arrays.asList(out));
\r