Add method to create a new album to Sone.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Mon, 14 Oct 2013 04:33:01 +0000 (06:33 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:25:25 +0000 (22:25 +0100)
src/main/java/net/pterodactylus/sone/data/Sone.java
src/main/java/net/pterodactylus/sone/data/impl/DefaultSone.java

index d7a7dee..8180a73 100644 (file)
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Set;
 
 import net.pterodactylus.sone.core.Options;
+import net.pterodactylus.sone.database.AlbumBuilder;
 import net.pterodactylus.sone.freenet.wot.Identity;
 import net.pterodactylus.sone.freenet.wot.OwnIdentity;
 import net.pterodactylus.sone.template.SoneAccessor;
@@ -546,4 +547,6 @@ public interface Sone extends Identified, Fingerprintable, Comparable<Sone> {
        /* TODO - remove this method again, maybe add an option provider */
        void setOptions(Options options);
 
+       AlbumBuilder newAlbumBuilder();
+
 }
index f519ffa..61bd530 100644 (file)
@@ -36,6 +36,7 @@ import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Profile;
 import net.pterodactylus.sone.data.Reply;
 import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.database.AlbumBuilder;
 import net.pterodactylus.sone.freenet.wot.Identity;
 import net.pterodactylus.util.logging.Logging;
 
@@ -104,7 +105,7 @@ public class DefaultSone implements Sone {
        private final Set<String> likedReplyIds = new CopyOnWriteArraySet<String>();
 
        /** The root album containing all albums. */
-       private final Album rootAlbum = new DefaultAlbum(this, null);
+       private final DefaultAlbum rootAlbum = new DefaultAlbum(this, null);
 
        /** Sone-specific options. */
        private Options options = new Options();
@@ -664,6 +665,11 @@ public class DefaultSone implements Sone {
                this.options = options;
        }
 
+       @Override
+       public AlbumBuilder newAlbumBuilder() {
+               return new DefaultAlbumBuilder(this, rootAlbum);
+       }
+
        //
        // FINGERPRINTABLE METHODS
        //