From 7935c8ae52d97af47b9ea2e8654be5067275fb22cd99d5af7b888da638f403ff Mon Sep 17 00:00:00 2001 From: Minimons Date: Tue, 9 Jun 2026 20:40:57 +0200 Subject: [PATCH] Move notification API to Nenjim --- .../libs/notification/AddressedNotifier.java | 14 ++++++++++++++ .../r35157/libs/notification/BoundNotifier.java | 7 +++++++ .../libs/notification/NotificationDestination.java | 3 +++ .../libs/notification/NotificationMessage.java | 4 ++++ 4 files changed, 28 insertions(+) create mode 100644 src/main/java/com/r35157/libs/notification/AddressedNotifier.java create mode 100644 src/main/java/com/r35157/libs/notification/BoundNotifier.java create mode 100644 src/main/java/com/r35157/libs/notification/NotificationDestination.java create mode 100644 src/main/java/com/r35157/libs/notification/NotificationMessage.java diff --git a/src/main/java/com/r35157/libs/notification/AddressedNotifier.java b/src/main/java/com/r35157/libs/notification/AddressedNotifier.java new file mode 100644 index 0000000..05ff801 --- /dev/null +++ b/src/main/java/com/r35157/libs/notification/AddressedNotifier.java @@ -0,0 +1,14 @@ +package com.r35157.libs.notification; + +import java.io.IOException; + +public interface AddressedNotifier< + D extends NotificationDestination, + M extends NotificationMessage> +{ + void push(D destination, M message) throws IOException; + + default BoundNotifier bind(D destination) { + return message -> push(destination, message); + } +} \ No newline at end of file diff --git a/src/main/java/com/r35157/libs/notification/BoundNotifier.java b/src/main/java/com/r35157/libs/notification/BoundNotifier.java new file mode 100644 index 0000000..c2f2e0e --- /dev/null +++ b/src/main/java/com/r35157/libs/notification/BoundNotifier.java @@ -0,0 +1,7 @@ +package com.r35157.libs.notification; + +import java.io.IOException; + +public interface BoundNotifier { + void push(M message) throws IOException; +} \ No newline at end of file diff --git a/src/main/java/com/r35157/libs/notification/NotificationDestination.java b/src/main/java/com/r35157/libs/notification/NotificationDestination.java new file mode 100644 index 0000000..ec80aaa --- /dev/null +++ b/src/main/java/com/r35157/libs/notification/NotificationDestination.java @@ -0,0 +1,3 @@ +package com.r35157.libs.notification; + +public interface NotificationDestination {} diff --git a/src/main/java/com/r35157/libs/notification/NotificationMessage.java b/src/main/java/com/r35157/libs/notification/NotificationMessage.java new file mode 100644 index 0000000..3778b62 --- /dev/null +++ b/src/main/java/com/r35157/libs/notification/NotificationMessage.java @@ -0,0 +1,4 @@ +package com.r35157.libs.notification; + +public interface NotificationMessage { +}