com.twilio.rest.serverless.v1.service.build.BuildStatus 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.serverless.v1.service.build;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.twilio.base.Resource;
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 lombok.ToString;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.util.Map;
import java.util.Objects;
/**
* PLEASE NOTE that this class contains preview products that are subject to
* change. Use them with caution. If you currently do not have developer preview
* access, please contact [email protected].
*/
@JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class BuildStatus extends Resource {
private static final long serialVersionUID = 147679596775059L;
public enum Status {
BUILDING("building"),
COMPLETED("completed"),
FAILED("failed");
private final String value;
private Status(final String value) {
this.value = value;
}
public String toString() {
return value;
}
/**
* Generate a Status from a string.
* @param value string value
* @return generated Status
*/
@JsonCreator
public static Status forValue(final String value) {
return Promoter.enumFromString(value, Status.values());
}
}
/**
* Create a BuildStatusFetcher to execute fetch.
*
* @param pathServiceSid The SID of the Service to fetch the Build resource from
* @param pathSid The SID of the Build resource to fetch
* @return BuildStatusFetcher capable of executing the fetch
*/
public static BuildStatusFetcher fetcher(final String pathServiceSid,
final String pathSid) {
return new BuildStatusFetcher(pathServiceSid, pathSid);
}
/**
* Converts a JSON String into a BuildStatus object using the provided
* ObjectMapper.
*
* @param json Raw JSON String
* @param objectMapper Jackson ObjectMapper
* @return BuildStatus object represented by the provided JSON
*/
public static BuildStatus fromJson(final String json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, BuildStatus.class);
} catch (final JsonMappingException | JsonParseException e) {
throw new ApiException(e.getMessage(), e);
} catch (final IOException e) {
throw new ApiConnectionException(e.getMessage(), e);
}
}
/**
* Converts a JSON InputStream into a BuildStatus object using the provided
* ObjectMapper.
*
* @param json Raw JSON InputStream
* @param objectMapper Jackson ObjectMapper
* @return BuildStatus object represented by the provided JSON
*/
public static BuildStatus fromJson(final InputStream json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, BuildStatus.class);
} catch (final JsonMappingException | JsonParseException e) {
throw new ApiException(e.getMessage(), e);
} catch (final IOException e) {
throw new ApiConnectionException(e.getMessage(), e);
}
}
private final String sid;
private final String accountSid;
private final String serviceSid;
private final BuildStatus.Status status;
private final URI url;
@JsonCreator
private BuildStatus(@JsonProperty("sid")
final String sid,
@JsonProperty("account_sid")
final String accountSid,
@JsonProperty("service_sid")
final String serviceSid,
@JsonProperty("status")
final BuildStatus.Status status,
@JsonProperty("url")
final URI url) {
this.sid = sid;
this.accountSid = accountSid;
this.serviceSid = serviceSid;
this.status = status;
this.url = url;
}
/**
* Returns The unique string that identifies the Build resource.
*
* @return The unique string that identifies the Build resource
*/
public final String getSid() {
return this.sid;
}
/**
* Returns The SID of the Account that created the Build resource.
*
* @return The SID of the Account that created the Build resource
*/
public final String getAccountSid() {
return this.accountSid;
}
/**
* Returns The SID of the Service that the Build resource is associated with.
*
* @return The SID of the Service that the Build resource is associated with
*/
public final String getServiceSid() {
return this.serviceSid;
}
/**
* Returns The status of the Build.
*
* @return The status of the Build
*/
public final BuildStatus.Status getStatus() {
return this.status;
}
/**
* Returns The absolute URL of the Build Status resource.
*
* @return The absolute URL of the Build Status resource
*/
public final URI getUrl() {
return this.url;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
BuildStatus other = (BuildStatus) o;
return Objects.equals(sid, other.sid) &&
Objects.equals(accountSid, other.accountSid) &&
Objects.equals(serviceSid, other.serviceSid) &&
Objects.equals(status, other.status) &&
Objects.equals(url, other.url);
}
@Override
public int hashCode() {
return Objects.hash(sid,
accountSid,
serviceSid,
status,
url);
}
}