Simplify album builder.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 12 Oct 2013 12:42:52 +0000 (14:42 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:17:43 +0000 (22:17 +0100)
src/main/java/net/pterodactylus/sone/data/impl/AbstractAlbumBuilder.java
src/main/java/net/pterodactylus/sone/data/impl/DefaultAlbumBuilder.java

index 312c795..43511ac 100644 (file)
@@ -18,6 +18,7 @@
 package net.pterodactylus.sone.data.impl;
 
 import static com.google.common.base.Preconditions.checkState;
+import static java.util.UUID.randomUUID;
 
 import net.pterodactylus.sone.database.AlbumBuilder;
 
@@ -30,10 +31,10 @@ import net.pterodactylus.sone.database.AlbumBuilder;
 public abstract class AbstractAlbumBuilder implements AlbumBuilder {
 
        /** Whether to create an album with a random ID. */
-       protected boolean randomId;
+       private boolean randomId;
 
        /** The ID of the album to create. */
-       protected String id;
+       private String id;
 
        @Override
        public AlbumBuilder randomId() {
@@ -51,6 +52,10 @@ public abstract class AbstractAlbumBuilder implements AlbumBuilder {
        // PROTECTED METHODS
        //
 
+       protected String getId() {
+               return randomId ? randomUUID().toString() : id;
+       }
+
        /**
         * Validates the state of this post builder.
         *
index f3e771c..15d9e1f 100644 (file)
@@ -30,7 +30,7 @@ public class DefaultAlbumBuilder extends AbstractAlbumBuilder {
        @Override
        public Album build() throws IllegalStateException {
                validate();
-               return randomId ? new DefaultAlbum() : new DefaultAlbum(id);
+               return new DefaultAlbum(getId());
        }
 
 }