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