Add modifier to post replies to mark them known.
[Sone.git] / src / main / java / net / pterodactylus / sone / data / impl / DefaultPostReply.java
index ef275ff..705586b 100644 (file)
@@ -58,6 +58,11 @@ public class DefaultPostReply extends DefaultReply<PostReply> implements PostRep
        //
 
        @Override
+       public boolean isKnown() {
+               return database.isPostReplyKnown(this);
+       }
+
+       @Override
        public String getPostId() {
                return postId;
        }
@@ -67,4 +72,25 @@ public class DefaultPostReply extends DefaultReply<PostReply> implements PostRep
                return database.getPost(postId);
        }
 
+       @Override
+       public Modifier<PostReply> modify() {
+               return new Modifier<PostReply>() {
+                       private boolean known = isKnown();
+
+                       @Override
+                       public Modifier<PostReply> setKnown() {
+                               known = true;
+                               return this;
+                       }
+
+                       @Override
+                       public PostReply update() {
+                               if (known) {
+                                       database.setPostReplyKnown(DefaultPostReply.this);
+                               }
+                               return DefaultPostReply.this;
+                       }
+               };
+       }
+
 }