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 CreateRoomRequestBuilder extends RequestBuilder<CreateRoomRequest> {
private String topic;
private Boolean guestAcccess;
private String name;
//The id, email address, or mention name (beginning with an '@') of the room's owner. Defaults to the current user
private String ownerUserId;
private Privacy privacy;
public CreateRoomRequestBuilder(String name, String accessToken, String baseUrl, HttpClient httpClient, ExecutorService executorService) {
super(accessToken, baseUrl, httpClient, executorService);
this.name = name;
}
public CreateRoomRequestBuilder setTopic(String topic) {
this.topic = topic;
return this;
}
public CreateRoomRequestBuilder setGuestAcccess(Boolean guestAcccess) {
this.guestAcccess = guestAcccess;
return this;
}
public CreateRoomRequestBuilder setOwnerUserId(String ownerUserId) {
this.ownerUserId = ownerUserId;
return this;
}
public CreateRoomRequestBuilder setPrivacy(Privacy privacy) {
this.privacy = privacy;
return this;
}
@Override
public CreateRoomRequest build() {
if (name == null) {
throw new IllegalArgumentException("name is required.");
}
return new CreateRoomRequest(topic, guestAcccess, name, ownerUserId, privacy, accessToken, baseUrl, httpClient, executorService);
}
}