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 0000000000000000000000000000000000000000..56a3429e30a5a13bbf18a2f6321be6a2ae6d0a28 --- /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 beb99cbcd1fecc17654a208cb014ee70b3416ea5..831885e2e983a92d260fed6d689f1581b5d3d5dd 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 0000000000000000000000000000000000000000..8fb7ede34b2bdadc0be503822ccab27b9b6e5c98 --- /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 0000000000000000000000000000000000000000..30be0381b4b4938b4e7b6320865232f671b638f2 --- /dev/null +++ b/src/main/java/fr/univamu/l2mi/OveradevoidnotifyTick.java @@ -0,0 +1,4 @@ +package fr.univamu.l2mi; + +public @interface OveradevoidnotifyTick { +}