com.twilio.rest.fax.v1.FaxUpdater 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
* \ / _ _ _| _ _
* | (_)\/(_)(_|\/| |(/_ v1.0.0
* / /
*/
package com.twilio.rest.fax.v1;
import com.twilio.base.Updater;
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;
/**
* PLEASE NOTE that this class contains beta products that are subject to
* change. Use them with caution.
*/
public class FaxUpdater extends Updater {
private final String pathSid;
private Fax.UpdateStatus status;
/**
* Construct a new FaxUpdater.
*
* @param pathSid The unique string that identifies the resource
*/
public FaxUpdater(final String pathSid) {
this.pathSid = pathSid;
}
/**
* The new status
* of the resource. Can be only `canceled`. This may fail if transmission has
* already started..
*
* @param status The new status of the resource
* @return this
*/
public FaxUpdater setStatus(final Fax.UpdateStatus status) {
this.status = status;
return this;
}
/**
* Make the request to the Twilio API to perform the update.
*
* @param client TwilioRestClient with which to make the request
* @return Updated Fax
*/
@Override
@SuppressWarnings("checkstyle:linelength")
public Fax update(final TwilioRestClient client) {
Request request = new Request(
HttpMethod.POST,
Domains.FAX.toString(),
"/v1/Faxes/" + this.pathSid + ""
);
addPostParams(request);
Response response = client.request(request);
if (response == null) {
throw new ApiConnectionException("Fax update 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 Fax.fromJson(response.getStream(), client.getObjectMapper());
}
/**
* Add the requested post parameters to the Request.
*
* @param request Request to add post params to
*/
private void addPostParams(final Request request) {
if (status != null) {
request.addPostParam("Status", status.toString());
}
}
}