X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultPostBuilder.java;h=f73245d22566c57c36439d562bed409bd11d25b8;hb=532076508aac8e03e0ef9914e90c7a0558b66bbe;hp=bf1c1e7d703a85645d58d42b49e385c034cc0716;hpb=0c26759e48ba5619785dd9a928176dcb7f473273;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java b/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java
index bf1c1e7..f73245d 100644
--- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java
+++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java
@@ -17,36 +17,36 @@
package net.pterodactylus.sone.data.impl;
-import java.util.UUID;
-
import net.pterodactylus.sone.data.Post;
+import net.pterodactylus.sone.database.Database;
import net.pterodactylus.sone.database.PostBuilder;
-import net.pterodactylus.sone.database.SoneProvider;
+
+import com.google.common.base.Optional;
/**
- * {@link PostBuilder} implementation that creates {@link PostImpl} objects.
+ * {@link PostBuilder} implementation that creates {@link DefaultPost} objects.
*
* @author David âBombeâ Roden
*/
public class DefaultPostBuilder extends AbstractPostBuilder {
- private final SoneProvider soneProvider;
-
/**
* Creates a new post builder.
*
- * @param soneProvider
- * The Sone provider
+ * @param database
*/
- public DefaultPostBuilder(SoneProvider soneProvider) {
- this.soneProvider = soneProvider;
+ public DefaultPostBuilder(Database database, String soneId) {
+ super(database, soneId);
}
- /** {@inheritDoc} */
@Override
- public Post build() {
+ public Post build(Optional postCreated) {
validate();
- return new PostImpl(soneProvider, randomId ? UUID.randomUUID().toString() : id, senderId, recipientId, currentTime ? System.currentTimeMillis() : time, text);
+ DefaultPost post = new DefaultPost(database, getId(), senderId, recipientId.orNull(), getTime(), text);
+ if (postCreated.isPresent()) {
+ postCreated.get().postCreated(post);
+ }
+ return post;
}
}