Files
alp-projet/src/impl/CapteurImpl.java
2025-11-07 10:41:45 +01:00

56 lines
1.2 KiB
Java

package impl;
import interfaces.AlgoDiffusion;
import interfaces.Capteur;
import interfaces.ObserverDeCapteurAsync;
import java.time.Clock;
import java.util.ArrayList;
import java.util.List;
public class CapteurImpl implements Capteur {
public Clock clock = Clock.systemUTC();
public int value;
public AlgoDiffusion diffusion;
public List<ObserverDeCapteurAsync> observers;
public CapteurImpl(AlgoDiffusion diffusion) {
value = 0;
observers = new ArrayList<>();
this.diffusion = diffusion;
}
@Override
public void attach(ObserverDeCapteurAsync o) {
try {
observers.add(o);
}catch(Exception e) {
//TODO
e.printStackTrace();
}
}
@Override
public void detach(ObserverDeCapteurAsync o) {
try {
observers.remove(o);
}catch(Exception e) {
//TODO
e.printStackTrace();
}
}
@Override
public void tick() {
for (ObserverDeCapteurAsync canal : observers) {
canal.update(this);
}
}
//AO2 - Concrete Servant
@Override
public int getValue() {
return 0;
}
}