X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FPostImpl.java;h=4442b3bf58f4df8875b1ef0aa1c7677ae900268e;hb=d72167e26461a77ad3b916cabf44df416ebb2a72;hp=bb8a4df1e36c6d8a8dd3b0acd555508873e229fb;hpb=6d8f11098552fcb40a87d3e35690b3ba760fb947;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/impl/PostImpl.java b/src/main/java/net/pterodactylus/sone/data/impl/PostImpl.java index bb8a4df..4442b3b 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/PostImpl.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/PostImpl.java @@ -17,11 +17,12 @@ package net.pterodactylus.sone.data.impl; -import java.util.UUID; - -import net.pterodactylus.sone.core.SoneProvider; +import net.pterodactylus.sone.data.IdBuilder; import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; +import net.pterodactylus.sone.database.SoneProvider; + +import com.google.common.base.Optional; /** * A post is a short message that a user writes in his Sone to let other users @@ -31,11 +32,13 @@ import net.pterodactylus.sone.data.Sone; */ public class PostImpl implements Post { + private final IdBuilder idBuilder = new IdBuilder(); + /** The Sone provider. */ private final SoneProvider soneProvider; /** The GUID of the post. */ - private final UUID id; + private final String id; /** The ID of the owning Sone. */ private final String soneId; @@ -70,7 +73,7 @@ public class PostImpl implements Post { */ public PostImpl(SoneProvider soneProvider, String id, String soneId, String recipientId, long time, String text) { this.soneProvider = soneProvider; - this.id = UUID.fromString(id); + this.id = id; this.soneId = soneId; this.recipientId = recipientId; this.time = time; @@ -86,7 +89,17 @@ public class PostImpl implements Post { */ @Override public String getId() { - return id.toString(); + return idBuilder.buildId(soneId, id); + } + + @Override + public String getInternalId() { + return id; + } + + @Override + public boolean isLoaded() { + return true; } /** @@ -94,15 +107,23 @@ public class PostImpl implements Post { */ @Override public Sone getSone() { - return soneProvider.getSone(soneId, false); + return soneProvider.getSone(soneId).get(); + } + + /** + * {@inheritDocs} + */ + @Override + public Optional getRecipientId() { + return Optional.fromNullable(recipientId); } /** * {@inheritDoc} */ @Override - public Sone getRecipient() { - return soneProvider.getSone(recipientId, false); + public Optional getRecipient() { + return soneProvider.getSone(recipientId); } /**