diff --git a/src/entities/Notification.java b/src/entities/Notification.java index 0baee61..c4b3681 100644 --- a/src/entities/Notification.java +++ b/src/entities/Notification.java @@ -58,17 +58,11 @@ public abstract class Notification { public String getContent() { if (isSendable() && content != "") { transitionState(); - StringBuilder builder = new StringBuilder(); - - if (decorations.isEmpty()) - return content; - - builder.append(content); for (final NotificationDecoration decoration : decorations) - builder.append(decoration.transformContent()); + content = decoration.transformContent(content); - return builder.toString(); + return content; } setKoState(); return ""; diff --git a/src/notificationsDecorations/DateNotificationDecoration.java b/src/notificationsDecorations/DateNotificationDecoration.java index bec955f..3d5ffa0 100644 --- a/src/notificationsDecorations/DateNotificationDecoration.java +++ b/src/notificationsDecorations/DateNotificationDecoration.java @@ -11,7 +11,7 @@ public class DateNotificationDecoration extends NotificationDecoration { } @Override - public String transformContent() { - return ": " + date.toString(); + public String transformContent(String content) { + return date.toString() + ": " + content; } } diff --git a/src/notificationsDecorations/NotificationDecoration.java b/src/notificationsDecorations/NotificationDecoration.java index c7c4510..c69f63d 100644 --- a/src/notificationsDecorations/NotificationDecoration.java +++ b/src/notificationsDecorations/NotificationDecoration.java @@ -2,20 +2,10 @@ package notificationsDecorations; import entities.Notification; -/** - * On cherche à pouvoir ajouter des décorations aux notifications. - * - * Pour ce faire, on part de cette classe abstraite qui permettra de faire du polymorphisme. - * - * Ensuite, les décorateurs ajouteront une décoration aux notifications qui ont une liste de - * décorations. - */ public abstract class NotificationDecoration { - protected Notification notification; - /** * Each decoration apply a transformation on the content of the Notifications * @return the content transformed */ - public abstract String transformContent(); + public abstract String transformContent(String content); } diff --git a/src/notificationsDecorations/WatermarkNotificationDecoration.java b/src/notificationsDecorations/WatermarkNotificationDecoration.java index 6f0c4a9..7a9ad2f 100644 --- a/src/notificationsDecorations/WatermarkNotificationDecoration.java +++ b/src/notificationsDecorations/WatermarkNotificationDecoration.java @@ -8,7 +8,7 @@ public class WatermarkNotificationDecoration extends NotificationDecoration { } @Override - public String transformContent() { - return "\n" + waterMark; + public String transformContent(String content) { + return content + "\n" + waterMark; } }