X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FDefaultPostBuilder.java;h=e73e2932cc80079fcbfa24cb748621ff35eb2da2;hb=8d49fb185ee26853262a12f6d419ef2e39c1116c;hp=9ac82c80d448469c610de514a0190d5155f06abd;hpb=f6816b0b1519a69a68fc280ee7d21d7ab0607289;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 9ac82c8..e73e293 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/DefaultPostBuilder.java @@ -17,12 +17,12 @@ 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 com.google.common.base.Optional; + /** * {@link PostBuilder} implementation that creates {@link PostImpl} objects. * @@ -30,22 +30,24 @@ import net.pterodactylus.sone.database.PostBuilder; */ public class DefaultPostBuilder extends AbstractPostBuilder { - private final Database database; - /** * Creates a new post builder. * * @param database */ - public DefaultPostBuilder(Database database) { - this.database = database; + public DefaultPostBuilder(Database database, String soneId) { + super(database, soneId); } /** {@inheritDoc} */ @Override - public Post build() { + public Post build(Optional postCreated) { validate(); - return new PostImpl(database, randomId ? UUID.randomUUID().toString() : id, senderId, recipientId, currentTime ? System.currentTimeMillis() : time, text); + PostImpl post = new PostImpl(database, getId(), senderId, recipientId.orNull(), getTime(), text); + if (postCreated.isPresent()) { + postCreated.get().postCreated(post); + } + return post; } }