X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2Fimpl%2FPostBuilderImpl.java;h=92b80c592799029e61090ec1dffce9f712350cae;hb=8ee35ad285afaede258cb59a616218a22d4f9646;hp=d407133bcdf86bdb58adaa7d0d80726f97a78004;hpb=da609f721e54691f27113e877a19637bd332abc3;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/impl/PostBuilderImpl.java b/src/main/java/net/pterodactylus/sone/data/impl/PostBuilderImpl.java index d407133..92b80c5 100644 --- a/src/main/java/net/pterodactylus/sone/data/impl/PostBuilderImpl.java +++ b/src/main/java/net/pterodactylus/sone/data/impl/PostBuilderImpl.java @@ -138,14 +138,12 @@ public class PostBuilderImpl implements PostBuilder { */ @Override public Post build() { - checkState(!randomId && (id == null), "neither random ID or custom ID set"); - checkState(randomId && (id != null), "both random ID and custom ID set"); + checkState((randomId && (id == null)) || (!randomId && (id != null)), "exactly one of random ID or custom ID must be set"); checkState(sender != null, "sender must not be null"); - checkState(!currentTime && (time == 0), "neither current time or custom time set"); - checkState(currentTime && (time != 0), "both current time and custom time set"); + checkState((currentTime && (time == 0)) || (!currentTime && (time > 0)), "one of current time or custom time must be set"); checkState(!StringUtils.isBlank(text), "text must not be empty"); checkState((recipient == null) || !recipient.equals(sender), "sender and recipient must not be the same"); - return new PostImpl(randomId ? UUID.randomUUID().toString() : id, sender, currentTime ? System.currentTimeMillis() : time, text).setRecipient(recipient); + return new PostImpl(randomId ? UUID.randomUUID().toString() : id, sender, recipient, currentTime ? System.currentTimeMillis() : time, text); } }