com.twilio.rest.taskrouter.v1.workspace.worker.WorkersStatistics 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.taskrouter.v1.workspace.worker;
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.Converter;
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;
@JsonIgnoreProperties(ignoreUnknown = true)
@ToString
public class WorkersStatistics extends Resource {
private static final long serialVersionUID = 181724864721054L;
/**
* Create a WorkersStatisticsFetcher to execute fetch.
*
* @param pathWorkspaceSid The SID of the Workspace with the Worker to fetch
* @return WorkersStatisticsFetcher capable of executing the fetch
*/
public static WorkersStatisticsFetcher fetcher(final String pathWorkspaceSid) {
return new WorkersStatisticsFetcher(pathWorkspaceSid);
}
/**
* Converts a JSON String into a WorkersStatistics object using the provided
* ObjectMapper.
*
* @param json Raw JSON String
* @param objectMapper Jackson ObjectMapper
* @return WorkersStatistics object represented by the provided JSON
*/
public static WorkersStatistics fromJson(final String json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, WorkersStatistics.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 WorkersStatistics object using the
* provided ObjectMapper.
*
* @param json Raw JSON InputStream
* @param objectMapper Jackson ObjectMapper
* @return WorkersStatistics object represented by the provided JSON
*/
public static WorkersStatistics fromJson(final InputStream json, final ObjectMapper objectMapper) {
// Convert all checked exceptions to Runtime
try {
return objectMapper.readValue(json, WorkersStatistics.class);
} catch (final JsonMappingException | JsonParseException e) {
throw new ApiException(e.getMessage(), e);
} catch (final IOException e) {
throw new ApiConnectionException(e.getMessage(), e);
}
}
private final Map realtime;
private final Map cumulative;
private final String accountSid;
private final String workspaceSid;
private final URI url;
@JsonCreator
private WorkersStatistics(@JsonProperty("realtime")
final Map realtime,
@JsonProperty("cumulative")
final Map cumulative,
@JsonProperty("account_sid")
final String accountSid,
@JsonProperty("workspace_sid")
final String workspaceSid,
@JsonProperty("url")
final URI url) {
this.realtime = realtime;
this.cumulative = cumulative;
this.accountSid = accountSid;
this.workspaceSid = workspaceSid;
this.url = url;
}
/**
* Returns An object that contains the real-time statistics for the Worker.
*
* @return An object that contains the real-time statistics for the Worker
*/
public final Map getRealtime() {
return this.realtime;
}
/**
* Returns An object that contains the cumulative statistics for the Worker.
*
* @return An object that contains the cumulative statistics for the Worker
*/
public final Map getCumulative() {
return this.cumulative;
}
/**
* 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 SID of the Workspace that contains the Worker.
*
* @return The SID of the Workspace that contains the Worker
*/
public final String getWorkspaceSid() {
return this.workspaceSid;
}
/**
* Returns The absolute URL of the Worker statistics resource.
*
* @return The absolute URL of the Worker statistics 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;
}
WorkersStatistics other = (WorkersStatistics) o;
return Objects.equals(realtime, other.realtime) &&
Objects.equals(cumulative, other.cumulative) &&
Objects.equals(accountSid, other.accountSid) &&
Objects.equals(workspaceSid, other.workspaceSid) &&
Objects.equals(url, other.url);
}
@Override
public int hashCode() {
return Objects.hash(realtime,
cumulative,
accountSid,
workspaceSid,
url);
}
}