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=9f9834453e9555175e4771932d9521209bd7188c;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; } }