com.twilio.rest.api.v2010.account.ConnectApp 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.api.v2010.account;
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.List;
import java.util.Map;
import java.util.Objects;
@JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class ConnectApp extends Resource {
private static final long serialVersionUID = 269497828076419L;
public enum Permission {
GET_ALL("get-all"),
POST_ALL("post-all");
private final String value;
private Permission(final String value) {
this.value = value;
}
public String toString() {
return value;
}
/**
* Generate a Permission from a string.
* @param value string value
* @return generated Permission
*/
@JsonCreator
public static Permission forValue(final String value) {
return Promoter.enumFromString(value, Permission.values());
}
}
/**
* Create a ConnectAppFetcher to execute fetch.
*
* @param pathAccountSid The SID of the Account that created the resource to
* fetch
* @param pathSid The unique string that identifies the resource
* @return ConnectAppFetcher capable of executing the fetch
*/
public static ConnectAppFetcher fetcher(final String pathAccountSid,
final String pathSid) {
return new ConnectAppFetcher(pathAccountSid, pathSid);
}
/**
* Create a ConnectAppFetcher to execute fetch.
*
* @param pathSid The unique string that identifies the resource
* @return ConnectAppFetcher capable of executing the fetch
*/
public static ConnectAppFetcher fetcher(final String pathSid) {
return new ConnectAppFetcher(pathSid);
}
/**
* Create a ConnectAppUpdater to execute update.
*
* @param pathAccountSid The SID of the Account that created the resources to
* update
* @param pathSid The unique string that identifies the resource
* @return ConnectAppUpdater capable of executing the update
*/
public static ConnectAppUpdater updater(final String pathAccountSid,
final String pathSid) {
return new ConnectAppUpdater(pathAccountSid, pathSid);
}
/**
* Create a ConnectAppUpdater to execute update.
*
* @param pathSid The unique string that identifies the resource
* @return ConnectAppUpdater capable of executing the update
*/
public static ConnectAppUpdater updater(final String pathSid) {
return new ConnectAppUpdater(pathSid);
}
/**
* Create a ConnectAppReader to execute read.
*
* @param pathAccountSid The SID of the Account that created the resources to
* read
* @return ConnectAppReader capable of executing the read
*/
public static ConnectAppReader reader(final String pathAccountSid) {
return new ConnectAppReader(pathAccountSid);
}
/**
* Create a ConnectAppReader to execute read.
*
* @return ConnectAppReader capable of executing the read
*/
public static ConnectAppReader reader() {
return new ConnectAppReader();
}
/**
* Create a ConnectAppDeleter to execute delete.
*
* @param pathAccountSid The SID of the Account that created the resource to
* fetch
* @param pathSid The unique string that identifies the resource
* @return ConnectAppDeleter capable of executing the delete
*/
public static ConnectAppDeleter deleter(final String pathAccountSid,
final String pathSid) {
return new ConnectAppDeleter(pathAccountSid, pathSid);
}
/**
* Create a ConnectAppDeleter to execute delete.
*
* @param pathSid The unique string that identifies the resource
* @return ConnectAppDeleter capable of executing the delete
*/
public static ConnectAppDeleter deleter(final String pathSid) {
return new ConnectAppDeleter(pathSid);
}
/**
* Converts a JSON String into a ConnectApp object using the provided
* ObjectMapper.
*
* @param json Raw JSON String
* @param objectMapper Jackson ObjectMapper
* @return ConnectApp object represented by the provided JSON
*/
public static ConnectApp fromJson(final String json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, ConnectApp.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 ConnectApp object using the provided
* ObjectMapper.
*
* @param json Raw JSON InputStream
* @param objectMapper Jackson ObjectMapper
* @return ConnectApp object represented by the provided JSON
*/
public static ConnectApp fromJson(final InputStream json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, ConnectApp.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 accountSid;
private final URI authorizeRedirectUrl;
private final String companyName;
private final HttpMethod deauthorizeCallbackMethod;
private final URI deauthorizeCallbackUrl;
private final String description;
private final String friendlyName;
private final URI homepageUrl;
private final List permissions;
private final String sid;
private final String uri;
@JsonCreator
private ConnectApp(@JsonProperty("account_sid")
final String accountSid,
@JsonProperty("authorize_redirect_url")
final URI authorizeRedirectUrl,
@JsonProperty("company_name")
final String companyName,
@JsonProperty("deauthorize_callback_method")
final HttpMethod deauthorizeCallbackMethod,
@JsonProperty("deauthorize_callback_url")
final URI deauthorizeCallbackUrl,
@JsonProperty("description")
final String description,
@JsonProperty("friendly_name")
final String friendlyName,
@JsonProperty("homepage_url")
final URI homepageUrl,
@JsonProperty("permissions")
final List permissions,
@JsonProperty("sid")
final String sid,
@JsonProperty("uri")
final String uri) {
this.accountSid = accountSid;
this.authorizeRedirectUrl = authorizeRedirectUrl;
this.companyName = companyName;
this.deauthorizeCallbackMethod = deauthorizeCallbackMethod;
this.deauthorizeCallbackUrl = deauthorizeCallbackUrl;
this.description = description;
this.friendlyName = friendlyName;
this.homepageUrl = homepageUrl;
this.permissions = permissions;
this.sid = sid;
this.uri = uri;
}
/**
* Returns The SID of the Account that created the resource.
*
* @return The SID of the Account that created the resource
*/
public final String getAccountSid() {
return this.accountSid;
}
/**
* Returns The URL to redirect the user to after authorization.
*
* @return The URL to redirect the user to after authorization
*/
public final URI getAuthorizeRedirectUrl() {
return this.authorizeRedirectUrl;
}
/**
* Returns The company name set for the Connect App.
*
* @return The company name set for the Connect App
*/
public final String getCompanyName() {
return this.companyName;
}
/**
* Returns The HTTP method we use to call deauthorize_callback_url.
*
* @return The HTTP method we use to call deauthorize_callback_url
*/
public final HttpMethod getDeauthorizeCallbackMethod() {
return this.deauthorizeCallbackMethod;
}
/**
* Returns The URL we call to de-authorize the Connect App.
*
* @return The URL we call to de-authorize the Connect App
*/
public final URI getDeauthorizeCallbackUrl() {
return this.deauthorizeCallbackUrl;
}
/**
* Returns The description of the Connect App.
*
* @return The description of the Connect App
*/
public final String getDescription() {
return this.description;
}
/**
* Returns The string that you assigned to describe the resource.
*
* @return The string that you assigned to describe the resource
*/
public final String getFriendlyName() {
return this.friendlyName;
}
/**
* Returns The URL users can obtain more information.
*
* @return The URL users can obtain more information
*/
public final URI getHomepageUrl() {
return this.homepageUrl;
}
/**
* Returns The set of permissions that your ConnectApp requests.
*
* @return The set of permissions that your ConnectApp requests
*/
public final List getPermissions() {
return this.permissions;
}
/**
* Returns The unique string that identifies the resource.
*
* @return The unique string that identifies the resource
*/
public final String getSid() {
return this.sid;
}
/**
* Returns The URI of the resource, relative to `https://api.twilio.com`.
*
* @return The URI of the resource, relative to `https://api.twilio.com`
*/
public final String getUri() {
return this.uri;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ConnectApp other = (ConnectApp) o;
return Objects.equals(accountSid, other.accountSid) &&
Objects.equals(authorizeRedirectUrl, other.authorizeRedirectUrl) &&
Objects.equals(companyName, other.companyName) &&
Objects.equals(deauthorizeCallbackMethod, other.deauthorizeCallbackMethod) &&
Objects.equals(deauthorizeCallbackUrl, other.deauthorizeCallbackUrl) &&
Objects.equals(description, other.description) &&
Objects.equals(friendlyName, other.friendlyName) &&
Objects.equals(homepageUrl, other.homepageUrl) &&
Objects.equals(permissions, other.permissions) &&
Objects.equals(sid, other.sid) &&
Objects.equals(uri, other.uri);
}
@Override
public int hashCode() {
return Objects.hash(accountSid,
authorizeRedirectUrl,
companyName,
deauthorizeCallbackMethod,
deauthorizeCallbackUrl,
description,
friendlyName,
homepageUrl,
permissions,
sid,
uri);
}
}