com.twilio.rest.preview.sync.service.document.DocumentPermission 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.preview.sync.service.document;
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.google.common.base.MoreObjects;
import com.twilio.base.Resource;
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.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)
public class DocumentPermission extends Resource {
private static final long serialVersionUID = 172715793000822L;
/**
* Create a DocumentPermissionFetcher to execute fetch.
*
* @param pathServiceSid The service_sid
* @param pathDocumentSid Sync Document SID or unique name.
* @param pathIdentity Identity of the user to whom the Sync Document
* Permission applies.
* @return DocumentPermissionFetcher capable of executing the fetch
*/
public static DocumentPermissionFetcher fetcher(final String pathServiceSid,
final String pathDocumentSid,
final String pathIdentity) {
return new DocumentPermissionFetcher(pathServiceSid, pathDocumentSid, pathIdentity);
}
/**
* Create a DocumentPermissionDeleter to execute delete.
*
* @param pathServiceSid The service_sid
* @param pathDocumentSid Sync Document SID or unique name.
* @param pathIdentity Identity of the user to whom the Sync Document
* Permission applies.
* @return DocumentPermissionDeleter capable of executing the delete
*/
public static DocumentPermissionDeleter deleter(final String pathServiceSid,
final String pathDocumentSid,
final String pathIdentity) {
return new DocumentPermissionDeleter(pathServiceSid, pathDocumentSid, pathIdentity);
}
/**
* Create a DocumentPermissionReader to execute read.
*
* @param pathServiceSid The service_sid
* @param pathDocumentSid Sync Document SID or unique name.
* @return DocumentPermissionReader capable of executing the read
*/
public static DocumentPermissionReader reader(final String pathServiceSid,
final String pathDocumentSid) {
return new DocumentPermissionReader(pathServiceSid, pathDocumentSid);
}
/**
* Create a DocumentPermissionUpdater to execute update.
*
* @param pathServiceSid Sync Service Instance SID.
* @param pathDocumentSid Sync Document SID or unique name.
* @param pathIdentity Identity of the user to whom the Sync Document
* Permission applies.
* @param read Read access.
* @param write Write access.
* @param manage Manage access.
* @return DocumentPermissionUpdater capable of executing the update
*/
public static DocumentPermissionUpdater updater(final String pathServiceSid,
final String pathDocumentSid,
final String pathIdentity,
final Boolean read,
final Boolean write,
final Boolean manage) {
return new DocumentPermissionUpdater(pathServiceSid, pathDocumentSid, pathIdentity, read, write, manage);
}
/**
* Converts a JSON String into a DocumentPermission object using the provided
* ObjectMapper.
*
* @param json Raw JSON String
* @param objectMapper Jackson ObjectMapper
* @return DocumentPermission object represented by the provided JSON
*/
public static DocumentPermission fromJson(final String json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, DocumentPermission.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 DocumentPermission object using the
* provided ObjectMapper.
*
* @param json Raw JSON InputStream
* @param objectMapper Jackson ObjectMapper
* @return DocumentPermission object represented by the provided JSON
*/
public static DocumentPermission fromJson(final InputStream json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, DocumentPermission.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 String serviceSid;
private final String documentSid;
private final String identity;
private final Boolean read;
private final Boolean write;
private final Boolean manage;
private final URI url;
@JsonCreator
private DocumentPermission(@JsonProperty("account_sid")
final String accountSid,
@JsonProperty("service_sid")
final String serviceSid,
@JsonProperty("document_sid")
final String documentSid,
@JsonProperty("identity")
final String identity,
@JsonProperty("read")
final Boolean read,
@JsonProperty("write")
final Boolean write,
@JsonProperty("manage")
final Boolean manage,
@JsonProperty("url")
final URI url) {
this.accountSid = accountSid;
this.serviceSid = serviceSid;
this.documentSid = documentSid;
this.identity = identity;
this.read = read;
this.write = write;
this.manage = manage;
this.url = url;
}
/**
* Returns The Twilio Account SID..
*
* @return Twilio Account SID.
*/
public final String getAccountSid() {
return this.accountSid;
}
/**
* Returns The Sync Service Instance SID..
*
* @return Sync Service Instance SID.
*/
public final String getServiceSid() {
return this.serviceSid;
}
/**
* Returns The Sync Document SID..
*
* @return Sync Document SID.
*/
public final String getDocumentSid() {
return this.documentSid;
}
/**
* Returns The Identity of the user to whom the Sync Document Permission
* applies..
*
* @return Identity of the user to whom the Sync Document Permission applies.
*/
public final String getIdentity() {
return this.identity;
}
/**
* Returns The Read access..
*
* @return Read access.
*/
public final Boolean getRead() {
return this.read;
}
/**
* Returns The Write access..
*
* @return Write access.
*/
public final Boolean getWrite() {
return this.write;
}
/**
* Returns The Manage access..
*
* @return Manage access.
*/
public final Boolean getManage() {
return this.manage;
}
/**
* Returns The URL of this Sync Document Permission..
*
* @return URL of this Sync Document Permission.
*/
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;
}
DocumentPermission other = (DocumentPermission) o;
return Objects.equals(accountSid, other.accountSid) &&
Objects.equals(serviceSid, other.serviceSid) &&
Objects.equals(documentSid, other.documentSid) &&
Objects.equals(identity, other.identity) &&
Objects.equals(read, other.read) &&
Objects.equals(write, other.write) &&
Objects.equals(manage, other.manage) &&
Objects.equals(url, other.url);
}
@Override
public int hashCode() {
return Objects.hash(accountSid,
serviceSid,
documentSid,
identity,
read,
write,
manage,
url);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("accountSid", accountSid)
.add("serviceSid", serviceSid)
.add("documentSid", documentSid)
.add("identity", identity)
.add("read", read)
.add("write", write)
.add("manage", manage)
.add("url", url)
.toString();
}
}