From c841a8087acb5c915fdc86b1d99f7367e9004714 Mon Sep 17 00:00:00 2001
From: n21223697 <mouhamedngom333@gmail.com>
Date: Tue, 5 Dec 2023 14:39:46 +0100
Subject: [PATCH] tache2

---
 src/main/java/fr/univamu/l2mi/Clock.java      | 29 +++++++++++++++++++
 src/main/java/fr/univamu/l2mi/Main.java       |  8 ++++-
 src/main/java/fr/univamu/l2mi/MyTickable.java | 15 ++++++++++
 .../univamu/l2mi/OveradevoidnotifyTick.java   |  4 +++
 4 files changed, 55 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/fr/univamu/l2mi/Clock.java
 create mode 100644 src/main/java/fr/univamu/l2mi/MyTickable.java
 create mode 100644 src/main/java/fr/univamu/l2mi/OveradevoidnotifyTick.java

diff --git a/src/main/java/fr/univamu/l2mi/Clock.java b/src/main/java/fr/univamu/l2mi/Clock.java
new file mode 100644
index 0000000..56a3429
--- /dev/null
+++ b/src/main/java/fr/univamu/l2mi/Clock.java
@@ -0,0 +1,29 @@
+package fr.univamu.l2mi;
+
+import fr.univamu.l2mi.ticker.Tickable;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class Clock implements Tickable {
+    private final Date currentTime;
+    public Clock () {
+        currentTime = new Date(0);
+    }
+
+        public String getCurrentTime() {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+            return dateFormat.format(currentTime);
+        }
+        @Override
+        public void notifyTick() {
+                currentTime.setTime(currentTime.getTime() +1000);
+                System.out.println(getCurrentTime());
+        }
+    }
+
+
+
+
+
+    
diff --git a/src/main/java/fr/univamu/l2mi/Main.java b/src/main/java/fr/univamu/l2mi/Main.java
index beb99cb..831885e 100644
--- a/src/main/java/fr/univamu/l2mi/Main.java
+++ b/src/main/java/fr/univamu/l2mi/Main.java
@@ -1,7 +1,13 @@
 package fr.univamu.l2mi;
+import fr.univamu.l2mi.MyTickable;
+import fr.univamu.l2mi.ticker.Ticker;
 
 public class Main {
     public static void main(String[] args) throws InterruptedException {
-        System.out.println("Hello World!");
+        Ticker ticker = new Ticker();
+        Clock clock = new Clock();
+        MyTickable myTickable = new MyTickable(clock);
+        ticker.add(clock);
+        ticker.startTicking();
     }
 }
\ No newline at end of file
diff --git a/src/main/java/fr/univamu/l2mi/MyTickable.java b/src/main/java/fr/univamu/l2mi/MyTickable.java
new file mode 100644
index 0000000..8fb7ede
--- /dev/null
+++ b/src/main/java/fr/univamu/l2mi/MyTickable.java
@@ -0,0 +1,15 @@
+package fr.univamu.l2mi;
+
+import fr.univamu.l2mi.ticker.Tickable;
+
+public class MyTickable implements Tickable {
+
+private final Clock clock ;
+public MyTickable(Clock clock ){
+this.clock = clock;
+}
+@Override
+public void notifyTick(){
+System.out.println("current time: " + clock.getCurrentTime());
+}
+}
diff --git a/src/main/java/fr/univamu/l2mi/OveradevoidnotifyTick.java b/src/main/java/fr/univamu/l2mi/OveradevoidnotifyTick.java
new file mode 100644
index 0000000..30be038
--- /dev/null
+++ b/src/main/java/fr/univamu/l2mi/OveradevoidnotifyTick.java
@@ -0,0 +1,4 @@
+package fr.univamu.l2mi;
+
+public @interface OveradevoidnotifyTick {
+}
-- 
GitLab