Feat: Decoration can transform notification content more freely
Some checks failed
SonarQube Scan / SonarQube Trigger (push) Failing after 19s

This commit is contained in:
Namu
2025-10-06 10:43:33 +02:00
parent 8a7ce73739
commit 53cda5688f
4 changed files with 7 additions and 23 deletions

View File

@@ -58,17 +58,11 @@ public abstract class Notification {
public String getContent() { public String getContent() {
if (isSendable() && content != "") { if (isSendable() && content != "") {
transitionState(); transitionState();
StringBuilder builder = new StringBuilder();
if (decorations.isEmpty())
return content;
builder.append(content);
for (final NotificationDecoration decoration : decorations) for (final NotificationDecoration decoration : decorations)
builder.append(decoration.transformContent()); content = decoration.transformContent(content);
return builder.toString(); return content;
} }
setKoState(); setKoState();
return ""; return "";

View File

@@ -11,7 +11,7 @@ public class DateNotificationDecoration extends NotificationDecoration {
} }
@Override @Override
public String transformContent() { public String transformContent(String content) {
return ": " + date.toString(); return date.toString() + ": " + content;
} }
} }

View File

@@ -2,20 +2,10 @@ package notificationsDecorations;
import entities.Notification; 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 { public abstract class NotificationDecoration {
protected Notification notification;
/** /**
* Each decoration apply a transformation on the content of the Notifications * Each decoration apply a transformation on the content of the Notifications
* @return the content transformed * @return the content transformed
*/ */
public abstract String transformContent(); public abstract String transformContent(String content);
} }

View File

@@ -8,7 +8,7 @@ public class WatermarkNotificationDecoration extends NotificationDecoration {
} }
@Override @Override
public String transformContent() { public String transformContent(String content) {
return "\n" + waterMark; return content + "\n" + waterMark;
} }
} }