Let Sone and Album implement AlbumBuilderFactory.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Mon, 14 Oct 2013 04:38:50 +0000 (06:38 +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/Album.java
src/main/java/net/pterodactylus/sone/data/Sone.java

index a173e19..7b245f9 100644 (file)
@@ -26,7 +26,7 @@ import java.util.Comparator;
 import java.util.List;
 import javax.annotation.Nonnull;
 
-import net.pterodactylus.sone.database.AlbumBuilder;
+import net.pterodactylus.sone.database.AlbumBuilderFactory;
 import net.pterodactylus.sone.database.ImageBuilder;
 
 import com.google.common.base.Function;
@@ -40,7 +40,7 @@ import com.google.common.collect.ImmutableList;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public interface Album extends Identified, Fingerprintable {
+public interface Album extends Identified, Fingerprintable, AlbumBuilderFactory {
 
        /** Compares two {@link Album}s by {@link #getTitle()}. */
        Comparator<Album> TITLE_COMPARATOR = new Comparator<Album>() {
@@ -167,8 +167,6 @@ public interface Album extends Identified, Fingerprintable {
         */
        String getDescription();
 
-       AlbumBuilder newAlbumBuilder() throws IllegalStateException;
-
        ImageBuilder newImageBuilder() throws IllegalStateException;
 
        /**
index 8180a73..67ecccb 100644 (file)
@@ -29,6 +29,7 @@ import java.util.Set;
 
 import net.pterodactylus.sone.core.Options;
 import net.pterodactylus.sone.database.AlbumBuilder;
+import net.pterodactylus.sone.database.AlbumBuilderFactory;
 import net.pterodactylus.sone.freenet.wot.Identity;
 import net.pterodactylus.sone.freenet.wot.OwnIdentity;
 import net.pterodactylus.sone.template.SoneAccessor;
@@ -44,7 +45,7 @@ import com.google.common.primitives.Ints;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public interface Sone extends Identified, Fingerprintable, Comparable<Sone> {
+public interface Sone extends Identified, Fingerprintable, AlbumBuilderFactory, Comparable<Sone> {
 
        /**
         * Enumeration for the possible states of a {@link Sone}.
@@ -547,6 +548,4 @@ public interface Sone extends Identified, Fingerprintable, Comparable<Sone> {
        /* TODO - remove this method again, maybe add an option provider */
        void setOptions(Options options);
 
-       AlbumBuilder newAlbumBuilder();
-
 }