package io.evanwong.oss.hipchat.v2.users; import io.evanwong.oss.hipchat.v2.commons.NoContent; import io.evanwong.oss.hipchat.v2.commons.PostRequest; import io.evanwong.oss.hipchat.v2.rooms.MessageFormat; import org.apache.http.client.HttpClient; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutorService; public class PrivateMessageUserRequest extends PostRequest<NoContent> { private String idOrEmail; private String message; private Boolean notify; private MessageFormat messageFormat; public PrivateMessageUserRequest(String idOrEmail, String message, Boolean notify, MessageFormat messageFormat, String accessToken, String baseUrl, HttpClient httpClient, ExecutorService executorService) { super(accessToken, baseUrl, httpClient, executorService); this.idOrEmail = idOrEmail; this.message = message; this.notify = notify; this.messageFormat = messageFormat; } public String getIdOrEmail() { return idOrEmail; } public String getMessage() { return message; } public Boolean getNotify() { return notify; } public MessageFormat getMessageFormat() { return messageFormat; } @Override protected String getPath() { return "/user/" + idOrEmail + "/message"; } @Override protected Map<String, Object> toQueryMap() { Map<String, Object> params = new HashMap<>(); params.put("message", message); if (notify != null) { params.put("notify", notify); } if (messageFormat != null) { params.put("message_format", messageFormat.getValue()); } return params; } }