Store the “known” status of a post in the database.
[Sone.git] / src / main / java / net / pterodactylus / sone / data / impl / DefaultAlbum.java
index c1640f9..295555d 100644 (file)
@@ -39,13 +39,11 @@ public class DefaultAlbum extends AbstractAlbum {
 
        private final Database database;
        private final Sone sone; /* TODO - only store sone ID. */
-       private final String parentId;
 
        protected DefaultAlbum(Database database, String id, Sone sone, String parentId) {
-               super(id);
+               super(id, parentId);
                this.database = database;
                this.sone = sone;
-               this.parentId = parentId;
        }
 
        @Override
@@ -90,11 +88,14 @@ public class DefaultAlbum extends AbstractAlbum {
        public ImageBuilder newImageBuilder() throws IllegalStateException {
                return new AbstractImageBuilder() {
                        @Override
-                       public Image build() throws IllegalStateException {
+                       public Image build(Optional<ImageCreated> imageCreated) throws IllegalStateException {
                                validate();
-                               DefaultImage memoryImage = new DefaultImage(database, getId(), sone, DefaultAlbum.this.id, key, getCreationTime(), width, height);
-                               database.storeImage(memoryImage);
-                               return memoryImage;
+                               DefaultImage image = new DefaultImage(database, getId(), sone, DefaultAlbum.this.id, key, getCreationTime(), width, height);
+                               database.storeImage(image);
+                               if (imageCreated.isPresent()) {
+                                       imageCreated.get().imageCreated(image);
+                               }
+                               return image;
                        }
                };
        }