7 import java.time.Duration;
8 import java.util.LinkedList;
15 private final List<Voltage> values =
new LinkedList<>();
16 private Duration pollingInterval = Duration.ofMillis(10);
18 private final List<VariableChangeEventListener<Voltage>> listeners =
25 public List<Voltage> getValues(){
30 public Boolean isProvidingVariables(){
return Boolean.TRUE; }
33 public void setPollingInterval(Duration pollingInterval){
34 this.pollingInterval = pollingInterval;
38 public Duration getPollingInterval(){
39 return pollingInterval;
43 public void setNumberOfDataPoints(Integer numberOfDataPoints){
48 public Integer getNumberOfDataPoints(){
52 public void addValue(
Voltage newValue){
56 listener.onChange(newValue);
61 public Duration getLengthOfHistory(){
62 return this.pollingInterval.multipliedBy(getNumberOfDataPoints());
66 public void clearHistory(){
71 public void addOnChangeListener(
74 listeners.add(listener);
78 public void removeOnChangeListener(
81 listeners.remove(listener);
84 public List<VariableChangeEventListener<Voltage>> getListeners(){
85 return this.listeners;