X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FPostReplyImpl.java;h=33b00ff1f4d791da645f403ddaffd9f6285536c1;hp=017f019e4a48015a0c8f526d9d38c09e822c07c1;hb=dc641a05eda529790ef83b9275db6ce2ac71a04f;hpb=7bf3f34153d68c6c74245e24d0957aa11e93b056 diff --git a/src/main/java/net/pterodactylus/sone/data/impl/PostReplyImpl.java b/src/main/java/net/pterodactylus/sone/data/impl/PostReplyImpl.java index 017f019..33b00ff 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/PostReplyImpl.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/PostReplyImpl.java @@ -1,5 +1,5 @@ /* - * Sone - PostReplyImpl.java - Copyright © 2010–2013 David Roden + * Sone - PostReplyImpl.java - Copyright © 2010–2019 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,14 +17,17 @@ package net.pterodactylus.sone.data.impl; -import net.pterodactylus.sone.core.PostProvider; +import static com.google.common.base.Optional.fromNullable; + import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.PostReply; +import net.pterodactylus.sone.database.PostProvider; +import net.pterodactylus.sone.database.SoneProvider; + +import com.google.common.base.Optional; /** * Simple {@link PostReply} implementation. - * - * @author David ‘Bombe’ Roden */ public class PostReplyImpl extends ReplyImpl implements PostReply { @@ -32,18 +35,28 @@ public class PostReplyImpl extends ReplyImpl implements PostReply { private final PostProvider postProvider; /** The Post this reply refers to. */ - private volatile String postId; + private final String postId; /** * Creates a new reply. * + * @param soneProvider + * The Sone provider * @param postProvider * The post provider * @param id * The ID of the reply + * @param soneId + * The ID of the Sone of the reply + * @param time + * The time of the reply + * @param text + * The text of the reply + * @param postId + * The ID of the post this reply refers to */ - public PostReplyImpl(PostProvider postProvider, String id) { - super(id); + public PostReplyImpl(SoneProvider soneProvider, PostProvider postProvider, String id, String soneId, long time, String text, String postId) { + super(soneProvider, id, soneId, time, text); this.postProvider = postProvider; this.postId = postId; } @@ -53,24 +66,19 @@ public class PostReplyImpl extends ReplyImpl implements PostReply { // /** - * {@inheritDoc} + * {@inheritDocs} */ @Override - public Post getPost() { - return postProvider.getPost(postId).get(); + public String getPostId() { + return postId; } /** - * Sets the post this reply refers to. - * - * @param postId - * The ID of the post to reply to - * @return This reply (for method chaining) + * {@inheritDoc} */ @Override - public PostReply setPost(String postId) { - this.postId = postId; - return this; + public Optional getPost() { + return fromNullable(postProvider.getPost(postId)); } }