/*
- * Sone - AbstractPostBuilder.java - Copyright © 2013 David Roden
+ * Sone - AbstractPostBuilder.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
import static com.google.common.base.Preconditions.checkState;
-import org.apache.commons.lang.StringUtils;
-
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.database.PostBuilder;
import net.pterodactylus.sone.database.SoneProvider;
/**
* Abstract {@link PostBuilder} implementation. It stores the state of the new
* post and performs validation, you only need to implement {@link #build()}.
- *
- * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
public abstract class AbstractPostBuilder implements PostBuilder {
this.currentTime = false;
this.time = post.getTime();
this.text = post.getText();
- this.recipientId = (post.getRecipient() != null) ? post.getRecipient().getId() : null;
+ this.recipientId = post.getRecipientId().orNull();
return this;
}
checkState((randomId && (id == null)) || (!randomId && (id != null)), "exactly one of random ID or custom ID must be set");
checkState(senderId != null, "sender must not be null");
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((text != null) && !text.trim().isEmpty(), "text must not be empty");
checkState((recipientId == null) || !recipientId.equals(senderId), "sender and recipient must not be the same");
}