X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryPost.java;h=75eae49342a48c3fd92849bec072548cf6af87cf;hp=84f37140b7832d72727b168757f24728e2f98f13;hb=242da074894d2ffcbb1a61f16ed881db9bc51ff0;hpb=268574fb0cd808a3a575843af256f8b98b643cb6 diff --git a/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java b/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java index 84f3714..75eae49 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java @@ -1,5 +1,5 @@ /* - * Sone - PostImpl.java - Copyright © 2010–2013 David Roden + * Sone - MemoryPost.java - Copyright © 2010–2016 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,24 +17,27 @@ package net.pterodactylus.sone.database.memory; +import static com.google.common.base.Optional.fromNullable; + import java.util.UUID; +import javax.annotation.Nullable; + import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.database.SoneProvider; +import com.google.common.base.Function; import com.google.common.base.Optional; /** * A post is a short message that a user writes in his Sone to let other users * know what is going on. - * - * @author David ‘Bombe’ Roden */ class MemoryPost implements Post { /** The post database. */ - private final MemoryPostDatabase postDatabase; + private final MemoryDatabase postDatabase; /** The Sone provider. */ private final SoneProvider soneProvider; @@ -72,7 +75,7 @@ class MemoryPost implements Post { * @param text * The text of the post */ - public MemoryPost(MemoryPostDatabase postDatabase, SoneProvider soneProvider, String id, String soneId, String recipientId, long time, String text) { + public MemoryPost(MemoryDatabase postDatabase, SoneProvider soneProvider, String id, String soneId, String recipientId, long time, String text) { this.postDatabase = postDatabase; this.soneProvider = soneProvider; this.id = UUID.fromString(id); @@ -94,12 +97,17 @@ class MemoryPost implements Post { return id.toString(); } + @Override + public boolean isLoaded() { + return true; + } + /** * {@inheritDoc} */ @Override public Sone getSone() { - return soneProvider.getSone(soneId).get(); + return soneProvider.getSone(soneId); } /** @@ -107,7 +115,7 @@ class MemoryPost implements Post { */ @Override public Optional getRecipientId() { - return Optional.fromNullable(recipientId); + return fromNullable(recipientId); } /** @@ -115,7 +123,13 @@ class MemoryPost implements Post { */ @Override public Optional getRecipient() { - return soneProvider.getSone(recipientId); + return Optional.fromNullable(recipientId).transform(new Function() { + @Nullable + @Override + public Sone apply(String input) { + return soneProvider.getSone(input); + } + }); } /**