diff options
author | Thorsten Ortlepp <post@ortlepp.eu> | 2024-04-26 00:30:46 +0200 |
---|---|---|
committer | Thorsten Ortlepp <post@ortlepp.eu> | 2024-04-26 00:30:46 +0200 |
commit | e03b55be17261ed13ddf421bcf4a804a083a7614 (patch) | |
tree | 8512120756c494efe53c64f33e61a20316c17186 /src/main/java/eu/ortlepp/notificationsender/service/NotificationSender.java | |
parent | b6bdf180c777566bbe908303774e53c7d4e099c4 (diff) | |
download | notification-sender-e03b55be17261ed13ddf421bcf4a804a083a7614.zip |
added implementation
Diffstat (limited to 'src/main/java/eu/ortlepp/notificationsender/service/NotificationSender.java')
-rw-r--r-- | src/main/java/eu/ortlepp/notificationsender/service/NotificationSender.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/java/eu/ortlepp/notificationsender/service/NotificationSender.java b/src/main/java/eu/ortlepp/notificationsender/service/NotificationSender.java new file mode 100644 index 0000000..8c39c72 --- /dev/null +++ b/src/main/java/eu/ortlepp/notificationsender/service/NotificationSender.java @@ -0,0 +1,41 @@ +package eu.ortlepp.notificationsender.service; + +import java.util.List; + +/** + * Interface for notification senders. + */ +public interface NotificationSender { + + /** + * Send a list of notifications. + * + * @param notifications The notifications to send + * @return The result of the sending; true = successful, false = error occurred + */ + boolean sendNotifications(final List<String> notifications); + + + /** + * Format notifications for sending. + * If only one notification is passed, it is returned as is. + * If multiple notifications are passed, a numbered list of notifications is returned. + * + * @param notifications The notifications to format + * @return The formatted notifications + */ + default String formatNotifications(final List<String> notifications) { + if (notifications.size() == 1) { + return notifications.getFirst() + "\n\n"; + } + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < notifications.size(); i++) { + builder.append(i + 1) + .append(". Notification:\n") + .append(notifications.get(i)) + .append("\n\n"); + } + return builder.toString(); + } + +} |