Add callback interface to post build() method.
[Sone.git] / src / main / java / net / pterodactylus / sone / data / impl / DefaultSone.java
index 87ad6bf..d0c5582 100644 (file)
@@ -38,11 +38,13 @@ import net.pterodactylus.sone.data.Reply;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.database.AlbumBuilder;
 import net.pterodactylus.sone.database.Database;
+import net.pterodactylus.sone.database.PostBuilder;
 import net.pterodactylus.sone.freenet.wot.Identity;
 import net.pterodactylus.util.logging.Logging;
 
 import freenet.keys.FreenetURI;
 
+import com.google.common.base.Optional;
 import com.google.common.hash.Hasher;
 import com.google.common.hash.Hashing;
 
@@ -676,6 +678,17 @@ public class DefaultSone implements Sone {
                return new DefaultAlbumBuilder(database, this, rootAlbum.getId());
        }
 
+       public PostBuilder newPostBuilder() {
+               return new DefaultPostBuilder(database, getId()) {
+                       @Override
+                       public Post build(Optional<PostCreated> postCreated) {
+                               Post post = super.build(postCreated);
+                               database.storePost(post);
+                               return post;
+                       }
+               };
+       }
+
        //
        // FINGERPRINTABLE METHODS
        //