X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FPostReplyBuilderImpl.java;h=ec1299ae07b25685819cb6ea04aee879c2ec3059;hp=da18f969da6eddc4d7443f95b8a86bd41168e361;hb=dc641a05eda529790ef83b9275db6ce2ac71a04f;hpb=8f02544d31f323ae9053dd9a11a99eacd8cf5bcd diff --git a/src/main/java/net/pterodactylus/sone/data/impl/PostReplyBuilderImpl.java b/src/main/java/net/pterodactylus/sone/data/impl/PostReplyBuilderImpl.java index da18f96..ec1299a 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/PostReplyBuilderImpl.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/PostReplyBuilderImpl.java @@ -1,5 +1,5 @@ /* - * Sone - PostReplyBuilderImpl.java - Copyright © 2013 David Roden + * Sone - PostReplyBuilderImpl.java - Copyright © 2013–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 @@ -26,15 +26,11 @@ import net.pterodactylus.sone.database.PostProvider; import net.pterodactylus.sone.database.PostReplyBuilder; import net.pterodactylus.sone.database.SoneProvider; -import org.apache.commons.lang.StringUtils; - /** * {@link PostReplyBuilder} implementation that creates {@link PostReplyImpl} * objects. - * - * @author David ‘Bombe’ Roden */ -public class PostReplyBuilderImpl extends AbstractReplyBuilder implements PostReplyBuilder { +public class PostReplyBuilderImpl extends AbstractPostReplyBuilder { /** The Sone provider. */ private final SoneProvider soneProvider; @@ -42,9 +38,6 @@ public class PostReplyBuilderImpl extends AbstractReplyBuilder /** The post provider. */ private final PostProvider postProvider; - /** The ID of the post the created reply refers to. */ - private String postId; - /** * Creates a new post reply builder. * @@ -62,23 +55,11 @@ public class PostReplyBuilderImpl extends AbstractReplyBuilder * {@inheritDoc} */ @Override - public PostReplyBuilder to(String postId) { - this.postId = postId; - return this; - } - - /** - * {@inheritDoc} - */ - @Override public PostReply build() { - checkState((randomId && (id == null)) || (!randomId && (id != null)), "either random ID nor custom ID must be set"); - checkState(senderId != null, "sender must not be null"); - checkState((currentTime && (time == 0)) || (!currentTime && (time >= 0)), "either current time or custom time must be set"); - checkState(!StringUtils.isBlank(text), "text must not be empty"); - checkState(postId != null, "post must not be null"); + validate(); /* create new post reply. */ return new PostReplyImpl(soneProvider, postProvider, randomId ? UUID.randomUUID().toString() : id, senderId, currentTime ? System.currentTimeMillis() : time, text, postId); } + }