X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultPostReply.java;h=41e64b060a224143a9bb69784936fe4cbb2a8acc;hb=2b438203e37c5b5a886dceb4cd061c27de09d8db;hp=6c08106b8d71ed6a25178f41a056566cff04456c;hpb=8d5dcab8d96af52241aaf425440680806c5e20d3;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostReply.java b/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostReply.java index 6c08106..41e64b0 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostReply.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostReply.java @@ -57,16 +57,43 @@ public class DefaultPostReply extends DefaultReply implements PostRep // ACCESSORS // - /** {@inheritDocs} */ + @Override + public boolean isKnown() { + return database.isPostReplyKnown(this); + } + @Override public String getPostId() { return postId; } - /** {@inheritDoc} */ @Override public Optional getPost() { return database.getPost(postId); } + @Override + public Modifier modify() { + return new Modifier() { + private boolean known = isKnown(); + + @Override + public Modifier setKnown() { + known = true; + return this; + } + + @Override + public PostReply update(Optional> replyUpdated) { + if (known) { + database.setPostReplyKnown(DefaultPostReply.this); + } + if (replyUpdated.isPresent()) { + replyUpdated.get().replyUpdated(DefaultPostReply.this); + } + return DefaultPostReply.this; + } + }; + } + }