Move memory post reply builder to its own file.
[Sone.git] / src / main / java / net / pterodactylus / sone / database / memory / MemoryDatabase.java
index 35d3c37..2f77eed 100644 (file)
@@ -29,7 +29,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
-import java.util.UUID;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
@@ -37,8 +36,6 @@ import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Reply;
 import net.pterodactylus.sone.data.Sone;
-import net.pterodactylus.sone.data.impl.AbstractPostBuilder;
-import net.pterodactylus.sone.data.impl.AbstractPostReplyBuilder;
 import net.pterodactylus.sone.database.Database;
 import net.pterodactylus.sone.database.DatabaseException;
 import net.pterodactylus.sone.database.PostBuilder;
@@ -194,7 +191,7 @@ public class MemoryDatabase extends AbstractService implements Database {
         */
        @Override
        public PostBuilder newPostBuilder() {
-               return new MemoryPostBuilder(soneProvider);
+               return new MemoryPostBuilder(this, soneProvider);
        }
 
        //
@@ -338,7 +335,7 @@ public class MemoryDatabase extends AbstractService implements Database {
         */
        @Override
        public PostReplyBuilder newPostReplyBuilder() {
-               return new MemoryPostReplyBuilder();
+               return new MemoryPostReplyBuilder(this, soneProvider);
        }
 
        //
@@ -657,56 +654,4 @@ public class MemoryDatabase extends AbstractService implements Database {
                }
        }
 
-       /**
-        * {@link PostBuilder} implementation that creates a {@link MemoryPost}.
-        *
-        * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
-        */
-       private class MemoryPostBuilder extends AbstractPostBuilder {
-
-               /**
-                * Creates a new memory post builder.
-                *
-                * @param soneProvider
-                *            The Sone provider
-                */
-               public MemoryPostBuilder(SoneProvider soneProvider) {
-                       super(soneProvider);
-               }
-
-               /**
-                * {@inheritDocs}
-                */
-               @Override
-               public Post build() throws IllegalStateException {
-                       validate();
-                       Post post = new MemoryPost(MemoryDatabase.this, soneProvider, randomId ? UUID.randomUUID().toString() : id, senderId, recipientId, currentTime ? System.currentTimeMillis() : time, text);
-                       post.setKnown(isPostKnown(post));
-                       return post;
-               }
-
-       }
-
-       /**
-        * {@link PostReplyBuilder} implementation that creates
-        * {@link MemoryPostReply} objects.
-        *
-        * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
-        */
-       private class MemoryPostReplyBuilder extends AbstractPostReplyBuilder {
-
-               /**
-                * {@inheritDocs}
-                */
-               @Override
-               public PostReply build() throws IllegalStateException {
-                       validate();
-
-                       PostReply postReply = new MemoryPostReply(MemoryDatabase.this, soneProvider, randomId ? UUID.randomUUID().toString() : id, senderId, currentTime ? System.currentTimeMillis() : time, text, postId);
-                       postReply.setKnown(isPostReplyKnown(postReply));
-                       return postReply;
-               }
-
-       }
-
 }