package io.evanwong.oss.hipchat.v2.rooms; import io.evanwong.oss.hipchat.v2.commons.RequestBuilder; import org.apache.http.client.HttpClient; import java.util.concurrent.ExecutorService; public class SendRoomNotificationRequestBuilder extends RequestBuilder<SendRoomNotificationRequest> { private String idOrName; private MessageColor color; private String message; private Boolean notify; private MessageFormat messageFormat; public SendRoomNotificationRequestBuilder(String idOrName, String message, String accessToken, String baseUrl, HttpClient httpClient, ExecutorService executorService) { super(accessToken, baseUrl, httpClient, executorService); this.idOrName = idOrName; this.message = message; } public SendRoomNotificationRequestBuilder setColor(MessageColor color) { this.color = color; return this; } public SendRoomNotificationRequestBuilder setNotify(Boolean notify) { this.notify = notify; return this; } public SendRoomNotificationRequestBuilder setMessageFormat(MessageFormat messageFormat) { this.messageFormat = messageFormat; return this; } public SendRoomNotificationRequest build() { if (message == null) { throw new IllegalArgumentException("message is required."); } if (idOrName == null) { throw new IllegalArgumentException("idOrName is required."); } return new SendRoomNotificationRequest(idOrName, color, message, notify, messageFormat, accessToken, baseUrl, httpClient, executorService); } }