diff --git a/bin/main/fr/univamu/l2mi/Main.class b/bin/main/fr/univamu/l2mi/Main.class index c1b271109bed47e86af751397a95a8c6d46f73b4..7cbd7437670255c0425b6ea827360b2b0785ee08 100644 Binary files a/bin/main/fr/univamu/l2mi/Main.class and b/bin/main/fr/univamu/l2mi/Main.class differ diff --git a/bin/main/fr/univamu/l2mi/ticker/StopCock.class b/bin/main/fr/univamu/l2mi/ticker/StopCock.class new file mode 100644 index 0000000000000000000000000000000000000000..a4e3a74838a9eee37902dd6707a94cc891b74cf7 Binary files /dev/null and b/bin/main/fr/univamu/l2mi/ticker/StopCock.class differ diff --git a/src/main/java/fr/univamu/l2mi/Main.java b/src/main/java/fr/univamu/l2mi/Main.java index 48e347107ec5b639efe6653f7b159fa93b7aba22..c85ed21d9071a897ea253f21ae076af30931cd64 100644 --- a/src/main/java/fr/univamu/l2mi/Main.java +++ b/src/main/java/fr/univamu/l2mi/Main.java @@ -4,6 +4,7 @@ import fr.univamu.l2mi.ticker.AlarmClock; import fr.univamu.l2mi.ticker.ClockPrinter; import fr.univamu.l2mi.ticker.CockTick; import fr.univamu.l2mi.ticker.OnceCockAlarm; +import fr.univamu.l2mi.ticker.StopCock; import fr.univamu.l2mi.ticker.Ticker; public class Main { @@ -12,6 +13,8 @@ public class Main { // t.add(new AlarmClock("00:00:03")); // t.add(new OnceCockAlarm("00:00:03","12/8/2023")); + t.add(new StopCock("00:00:03", t, 30)); t.startTicking(); + } } \ No newline at end of file diff --git a/src/main/java/fr/univamu/l2mi/ticker/StopCock.java b/src/main/java/fr/univamu/l2mi/ticker/StopCock.java new file mode 100644 index 0000000000000000000000000000000000000000..af93f084b5b30fef1fce24bd88d9f641ceb1cb67 --- /dev/null +++ b/src/main/java/fr/univamu/l2mi/ticker/StopCock.java @@ -0,0 +1,21 @@ +package fr.univamu.l2mi.ticker; +import java.lang.reflect.Method; +import java.time.Duration; + + +public class StopCock extends AlarmClock{ + Ticker ticker; + int stop_time; + public StopCock(String time,Ticker ticker,int stop_time){ + super(time); + this.ticker = ticker; + this.stop_time = stop_time; + } + @Override + public void notifyTick() { + super.notifyTick(); + if (givenTime.isAfter(AlarmTime) && Duration.between(givenTime, AlarmTime).getSeconds()>this.stop_time){ + this.ticker.stopTicking();; + } + } +}