package weiboclient4j;
import weiboclient4j.model.NotificationResult;
import weiboclient4j.params.ActionUrl;
import weiboclient4j.params.ParameterAction;
import weiboclient4j.params.Parameters;
import weiboclient4j.params.TemplateId;
import weiboclient4j.params.Uid;
import weiboclient4j.utils.StringUtils;
import java.util.Collection;
/**
* @author Hover Ruan
*/
public class NotificationService extends AbstractService {
public NotificationService(WeiboClient client) {
super(client);
}
public NotificationResult send(Collection<Uid> uids, TemplateId templateId) throws WeiboClientException {
return send(uids, templateId, null);
}
public NotificationResult send(Collection<Uid> uids, TemplateId templateId, ActionUrl actionUrl)
throws WeiboClientException {
return send(uids, templateId, null, 0, actionUrl);
}
public NotificationResult send(Collection<Uid> uids,
TemplateId templateId,
final String objects1,
final int objects1Count) throws WeiboClientException {
return send(uids, templateId, objects1, objects1Count, null, 0);
}
public NotificationResult send(Collection<Uid> uids,
TemplateId templateId,
final String objects1,
final int objects1Count,
final String objects2,
final int objects2Count) throws WeiboClientException {
return send(uids, templateId, objects1, objects1Count, objects2, objects2Count, null, 0);
}
public NotificationResult send(Collection<Uid> uids,
TemplateId templateId,
final String objects1,
final int objects1Count,
final String objects2,
final int objects2Count,
final String objects3,
final int objects3Count) throws WeiboClientException {
return send(uids, templateId, objects1, objects1Count, objects2, objects2Count, objects3, objects3Count,
ActionUrl.EMPTY);
}
public NotificationResult send(Collection<Uid> uids,
TemplateId templateId,
final String objects1,
final int objects1Count,
ActionUrl actionUrl) throws WeiboClientException {
return send(uids, templateId, objects1, objects1Count, null, 0, actionUrl);
}
public NotificationResult send(Collection<Uid> uids,
TemplateId templateId,
final String objects1,
final int objects1Count,
final String objects2,
final int objects2Count,
ActionUrl actionUrl) throws WeiboClientException {
return send(uids, templateId, objects1, objects1Count, objects2, objects2Count, null, 0, actionUrl);
}
public NotificationResult send(Collection<Uid> uids,
TemplateId templateId,
final String objects1,
final int objects1Count,
final String objects2,
final int objects2Count,
final String objects3,
final int objects3Count,
ActionUrl actionUrl) throws WeiboClientException {
ParameterAction objectsParamAction = new ParameterAction() {
public void addParameter(Parameters params) {
if (StringUtils.isNotBlank(objects1)) {
params.add("objects1", objects1);
}
if (objects1Count > 0) {
params.add("objects1_count", objects1Count);
}
if (StringUtils.isNotBlank(objects2)) {
params.add("objects2", objects2);
}
if (objects2Count > 0) {
params.add("objects2_count", objects2Count);
}
if (StringUtils.isNotBlank(objects3)) {
params.add("objects3", objects3);
}
if (objects3Count > 0) {
params.add("objects3_count", objects3Count);
}
}
};
return doPost("notification/send",
withParams(Uid.uidsParam(uids), templateId, objectsParamAction, actionUrl), NotificationResult.class);
}
}