Add modifier to post replies to mark them known.
[Sone.git] / src / main / java / net / pterodactylus / sone / data / impl / DefaultPostReply.java
index 6c08106..705586b 100644 (file)
@@ -57,16 +57,40 @@ public class DefaultPostReply extends DefaultReply<PostReply> implements PostRep
        // ACCESSORS
        //
 
-       /** {@inheritDocs} */
+       @Override
+       public boolean isKnown() {
+               return database.isPostReplyKnown(this);
+       }
+
        @Override
        public String getPostId() {
                return postId;
        }
 
-       /** {@inheritDoc} */
        @Override
        public Optional<Post> getPost() {
                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;
+                       }
+               };
+       }
+
 }