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=fdedaa0a6c94b5046a1c3ac2aaa30e3ce801e733;hb=dc641a05eda529790ef83b9275db6ce2ac71a04f;hpb=8503021c00d63885288c507d9930fefabd5d7678 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 fdedaa0..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,16 +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 { @@ -34,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; } @@ -67,20 +78,7 @@ public class PostReplyImpl extends ReplyImpl implements PostReply { */ @Override public Optional getPost() { - return postProvider.getPost(postId); - } - - /** - * Sets the post this reply refers to. - * - * @param postId - * The ID of the post to reply to - * @return This reply (for method chaining) - */ - @Override - public PostReply setPost(String postId) { - this.postId = postId; - return this; + return fromNullable(postProvider.getPost(postId)); } }