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 UpdateRoomRequestBuilder extends RequestBuilder<UpdateRoomRequest> {
private UpdateRoomRequest updateRoomRequest;
public UpdateRoomRequestBuilder(String roomIdOrName, String accessToken, String baseUrl, HttpClient httpClient, ExecutorService executorService) {
super(accessToken, baseUrl, httpClient, executorService);
this.updateRoomRequest = new UpdateRoomRequest(roomIdOrName, accessToken, baseUrl, httpClient, executorService);
}
public UpdateRoomRequestBuilder setName(String name) {
this.updateRoomRequest.setName(name);
return this;
}
public UpdateRoomRequestBuilder setPrivacy(Privacy privacy) {
this.updateRoomRequest.setPrivacy(privacy);
return this;
}
public UpdateRoomRequestBuilder setArchived(Boolean archived) {
this.updateRoomRequest.setArchived(archived);
return this;
}
public UpdateRoomRequestBuilder setGuestAccessible(Boolean guestAccessible) {
this.updateRoomRequest.setGuestAccessible(guestAccessible);
return this;
}
public UpdateRoomRequestBuilder setTopic(String topic) {
this.updateRoomRequest.setTopic(topic);
return this;
}
public UpdateRoomRequestBuilder setOwnerIdOrEmail(String ownerIdOrEmail) {
this.updateRoomRequest.setOwnerIdOrEmail(ownerIdOrEmail);
return this;
}
@Override
public UpdateRoomRequest build() {
if (updateRoomRequest.getRoomIdOrName() == null) {
throw new IllegalArgumentException("roomIdOrName is required.");
}
if (updateRoomRequest.getName() == null) {
throw new IllegalArgumentException("name is required.");
}
if (updateRoomRequest.getOwnerIdOrEmail() == null) {
throw new IllegalArgumentException("ownerIdOrEmail is required.");
}
if (updateRoomRequest.getPrivacy() == null) {
throw new IllegalArgumentException("privacy is required.");
}
if (updateRoomRequest.getTopic() == null) {
throw new IllegalArgumentException("topic is required.");
}
return updateRoomRequest;
}
}