From bee8b50d8414f0758dce31634ad4ebed3e1d8ab4 Mon Sep 17 00:00:00 2001 From: tuanvu Date: Thu, 6 Nov 2025 10:27:55 +0100 Subject: [PATCH] implement in CapteurImp and remove Future and MI --- src/impl/Afficheur.java | 1 - src/impl/CapteurImpl.java | 29 ++++++++++++++++++++++++---- src/impl/GetValue.java | 4 +--- src/impl/Update.java | 5 +---- src/interfaces/Capteur.java | 4 ++-- src/interfaces/Future.java | 6 ------ src/interfaces/MethodInvocation.java | 5 ----- 7 files changed, 29 insertions(+), 25 deletions(-) delete mode 100644 src/interfaces/Future.java delete mode 100644 src/interfaces/MethodInvocation.java diff --git a/src/impl/Afficheur.java b/src/impl/Afficheur.java index daed745..654db9b 100644 --- a/src/impl/Afficheur.java +++ b/src/impl/Afficheur.java @@ -7,6 +7,5 @@ public class Afficheur implements ObserverdeCapteur { //AO1 - concrete servant @Override public void update(Capteur subject) { - } } diff --git a/src/impl/CapteurImpl.java b/src/impl/CapteurImpl.java index d4b0b08..4ca09d0 100644 --- a/src/impl/CapteurImpl.java +++ b/src/impl/CapteurImpl.java @@ -3,16 +3,37 @@ package impl; import interfaces.Capteur; import interfaces.Observer; +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 List> observers; + public CapteurImpl() { + value = 0; + observers = new ArrayList<>(); + } @Override - public void attach(Observer o) { - + public void attach(Observer o) { + try { + observers.add(o); + }catch(Exception e) { + //TODO + e.printStackTrace(); + } } @Override - public void detach(Observer o) { - + public void detach(Observer o) { + try { + observers.remove(o); + }catch(Exception e) { + //TODO + e.printStackTrace(); + } } @Override diff --git a/src/impl/GetValue.java b/src/impl/GetValue.java index 056b7f1..7a6327c 100644 --- a/src/impl/GetValue.java +++ b/src/impl/GetValue.java @@ -1,10 +1,8 @@ package impl; -import interfaces.MethodInvocation; -public class GetValue implements MethodInvocation { +public class GetValue { //AO2 - concrete MI - @Override public void call() { } diff --git a/src/impl/Update.java b/src/impl/Update.java index 9fe4d1f..fbeb3af 100644 --- a/src/impl/Update.java +++ b/src/impl/Update.java @@ -1,10 +1,7 @@ package impl; -import interfaces.MethodInvocation; - -public class Update implements MethodInvocation { +public class Update { //AO1 - concrete MI - @Override public void call() { } diff --git a/src/interfaces/Capteur.java b/src/interfaces/Capteur.java index b9bcb0e..635a7b8 100644 --- a/src/interfaces/Capteur.java +++ b/src/interfaces/Capteur.java @@ -1,7 +1,7 @@ package interfaces; public interface Capteur { - public void attach(Observer o); - public void detach(Observer o); + public void attach(Observer o); + public void detach(Observer o); public void tick(); //AO2 - servant diff --git a/src/interfaces/Future.java b/src/interfaces/Future.java deleted file mode 100644 index 4b2d947..0000000 --- a/src/interfaces/Future.java +++ /dev/null @@ -1,6 +0,0 @@ -package interfaces; - -public interface Future { - T get(); - boolean isDone(); -} diff --git a/src/interfaces/MethodInvocation.java b/src/interfaces/MethodInvocation.java deleted file mode 100644 index 6f7126c..0000000 --- a/src/interfaces/MethodInvocation.java +++ /dev/null @@ -1,5 +0,0 @@ -package interfaces; - -public interface MethodInvocation { - void call(); -}