BakeoutController-Basic  0.1
A Controller for the Omicron vacuum chamber
MockVoltageProvider.java
1 package unit.ui;
2 
6 
7 import java.time.Duration;
8 import java.util.LinkedList;
9 import java.util.List;
10 
14 public class MockVoltageProvider implements VoltageProvider {
15  private final List<Voltage> values = new LinkedList<>();
16  private Duration pollingInterval = Duration.ofMillis(10);
17 
18  private final List<VariableChangeEventListener<Voltage>> listeners =
19  new LinkedList<>();
20 
21  public MockVoltageProvider(){
22  }
23 
24  @Override
25  public List<Voltage> getValues(){
26  return values;
27  }
28 
29  @Override
30  public Boolean isProvidingVariables(){ return Boolean.TRUE; }
31 
32  @Override
33  public void setPollingInterval(Duration pollingInterval){
34  this.pollingInterval = pollingInterval;
35  }
36 
37  @Override
38  public Duration getPollingInterval(){
39  return pollingInterval;
40  }
41 
42  @Override
43  public void setNumberOfDataPoints(Integer numberOfDataPoints){
44  // Do nothing
45  }
46 
47  @Override
48  public Integer getNumberOfDataPoints(){
49  return 2;
50  }
51 
52  public void addValue(Voltage newValue){
53  values.add(newValue);
54 
55  for(VariableChangeEventListener<Voltage> listener: listeners){
56  listener.onChange(newValue);
57  }
58  }
59 
60  @Override
61  public Duration getLengthOfHistory(){
62  return this.pollingInterval.multipliedBy(getNumberOfDataPoints());
63  }
64 
65  @Override
66  public void clearHistory(){
67  values.clear();
68  }
69 
70  @Override
71  public void addOnChangeListener(
73  ){
74  listeners.add(listener);
75  }
76 
77  @Override
78  public void removeOnChangeListener(
80  ){
81  listeners.remove(listener);
82  }
83 
84  public List<VariableChangeEventListener<Voltage>> getListeners(){
85  return this.listeners;
86  }
87 }
Git Repo