Did some clean up
[Mograsim.git] / era.mi / src / era / mi / logic / components / BitDisplay.java
1 package era.mi.logic.components;
2
3 import java.util.Arrays;
4 import java.util.List;
5
6 import era.mi.logic.Bit;
7 import era.mi.logic.wires.WireArray;
8
9 public class BitDisplay extends BasicComponent
10 {
11         private final WireArray in;
12         private Bit[] displayedValue;
13
14         public BitDisplay(WireArray in)
15         {
16                 super(1);
17                 this.in = in;
18                 in.addObserver(this);
19                 compute();
20         }
21
22         @Override
23         protected void compute()
24         {
25                 displayedValue = in.getValues();
26         }
27
28         public Bit[] getDisplayedValue()
29         {
30                 return displayedValue;
31         }
32
33         public boolean isDisplaying(Bit... values)
34         {
35                 return Arrays.equals(displayedValue, values);
36         }
37
38         @Override
39         public List<WireArray> getAllInputs()
40         {
41                 return List.of(in);
42         }
43
44         @Override
45         public List<WireArray> getAllOutputs()
46         {
47                 return List.of();
48         }
49 }