X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultPostBuilder.java;h=a07f144f918eb3cebc27087c209c69773e6175cd;hb=cf032630b167166215f45d8ae2e5147e1934c223;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..a07f144 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java @@ -20,8 +20,10 @@ 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. @@ -30,23 +32,24 @@ import net.pterodactylus.sone.database.SoneProvider; */ 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); + PostImpl post = new PostImpl(database, randomId ? UUID.randomUUID().toString() : id, senderId, recipientId.orNull(), currentTime ? System.currentTimeMillis() : time, text); + if (postCreated.isPresent()) { + postCreated.get().postCreated(post); + } + return post; } }