com.twilio.rest.numbers.v2.regulatorycompliance.BundleCreator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of twilio Show documentation
Show all versions of twilio Show documentation
Twilio Java Helper Library
/*
* This code was generated by
* ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
* | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
* | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
*
* Twilio - Numbers
* This is the public Twilio REST API.
*
* NOTE: This class is auto generated by OpenAPI Generator.
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.twilio.rest.numbers.v2.regulatorycompliance;
import com.twilio.base.Creator;
import com.twilio.constant.EnumConstants;
import com.twilio.converter.Promoter;
import com.twilio.exception.ApiConnectionException;
import com.twilio.exception.ApiException;
import com.twilio.exception.RestException;
import com.twilio.http.HttpMethod;
import com.twilio.http.Request;
import com.twilio.http.Response;
import com.twilio.http.TwilioRestClient;
import com.twilio.rest.Domains;
import java.net.URI;
import java.net.URI;
public class BundleCreator extends Creator {
private String friendlyName;
private String email;
private URI statusCallback;
private String regulationSid;
private String isoCountry;
private Bundle.EndUserType endUserType;
private String numberType;
public BundleCreator(final String friendlyName, final String email) {
this.friendlyName = friendlyName;
this.email = email;
}
public BundleCreator setFriendlyName(final String friendlyName) {
this.friendlyName = friendlyName;
return this;
}
public BundleCreator setEmail(final String email) {
this.email = email;
return this;
}
public BundleCreator setStatusCallback(final URI statusCallback) {
this.statusCallback = statusCallback;
return this;
}
public BundleCreator setStatusCallback(final String statusCallback) {
return setStatusCallback(Promoter.uriFromString(statusCallback));
}
public BundleCreator setRegulationSid(final String regulationSid) {
this.regulationSid = regulationSid;
return this;
}
public BundleCreator setIsoCountry(final String isoCountry) {
this.isoCountry = isoCountry;
return this;
}
public BundleCreator setEndUserType(final Bundle.EndUserType endUserType) {
this.endUserType = endUserType;
return this;
}
public BundleCreator setNumberType(final String numberType) {
this.numberType = numberType;
return this;
}
@Override
public Bundle create(final TwilioRestClient client) {
String path = "/v2/RegulatoryCompliance/Bundles";
path =
path.replace(
"{" + "FriendlyName" + "}",
this.friendlyName.toString()
);
path = path.replace("{" + "Email" + "}", this.email.toString());
Request request = new Request(
HttpMethod.POST,
Domains.NUMBERS.toString(),
path
);
request.setContentType(EnumConstants.ContentType.FORM_URLENCODED);
addPostParams(request);
Response response = client.request(request);
if (response == null) {
throw new ApiConnectionException(
"Bundle creation failed: Unable to connect to server"
);
} else if (!TwilioRestClient.SUCCESS.test(response.getStatusCode())) {
RestException restException = RestException.fromJson(
response.getStream(),
client.getObjectMapper()
);
if (restException == null) {
throw new ApiException("Server Error, no content");
}
throw new ApiException(restException);
}
return Bundle.fromJson(response.getStream(), client.getObjectMapper());
}
private void addPostParams(final Request request) {
if (friendlyName != null) {
request.addPostParam("FriendlyName", friendlyName);
}
if (email != null) {
request.addPostParam("Email", email);
}
if (statusCallback != null) {
request.addPostParam("StatusCallback", statusCallback.toString());
}
if (regulationSid != null) {
request.addPostParam("RegulationSid", regulationSid);
}
if (isoCountry != null) {
request.addPostParam("IsoCountry", isoCountry);
}
if (endUserType != null) {
request.addPostParam("EndUserType", endUserType.toString());
}
if (numberType != null) {
request.addPostParam("NumberType", numberType);
}
}
}