com.mypurecloud.sdk.model.VoicemailSearchCriteria Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of platform-client Show documentation
Show all versions of platform-client Show documentation
The official Java SDK for the PureCloud Platform API SDK
The newest version!
package com.mypurecloud.sdk.model;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import com.mypurecloud.sdk.model.VoicemailSearchCriteria;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import java.io.Serializable;
/**
* VoicemailSearchCriteria
*/
public class VoicemailSearchCriteria implements Serializable {
private String endValue = null;
private List values = new ArrayList();
private String startValue = null;
private List fields = new ArrayList();
private String value = null;
/**
* How to apply this search criteria against other criteria
*/
public enum OperatorEnum {
OUTDATEDSDKVERSION("OutdatedSdkVersion"),
AND("AND"),
OR("OR"),
NOT("NOT");
private String value;
OperatorEnum(String value) {
this.value = value;
}
@JsonCreator
public static OperatorEnum fromString(String key) {
if (key == null) return null;
for (OperatorEnum value : OperatorEnum.values()) {
if (key.equalsIgnoreCase(value.toString())) {
return value;
}
}
return OperatorEnum.values()[0];
}
@Override
@JsonValue
public String toString() {
return String.valueOf(value);
}
}
private OperatorEnum operator = null;
private List group = new ArrayList();
/**
* Search Type
*/
public enum TypeEnum {
OUTDATEDSDKVERSION("OutdatedSdkVersion"),
EXACT("EXACT"),
STARTS_WITH("STARTS_WITH"),
CONTAINS("CONTAINS"),
REGEX("REGEX"),
TERM("TERM"),
TERMS("TERMS"),
REQUIRED_FIELDS("REQUIRED_FIELDS"),
MATCH_ALL("MATCH_ALL");
private String value;
TypeEnum(String value) {
this.value = value;
}
@JsonCreator
public static TypeEnum fromString(String key) {
if (key == null) return null;
for (TypeEnum value : TypeEnum.values()) {
if (key.equalsIgnoreCase(value.toString())) {
return value;
}
}
return TypeEnum.values()[0];
}
@Override
@JsonValue
public String toString() {
return String.valueOf(value);
}
}
private TypeEnum type = null;
/**
* The end value of the range. This field is used for range search types.
**/
public VoicemailSearchCriteria endValue(String endValue) {
this.endValue = endValue;
return this;
}
@ApiModelProperty(example = "null", value = "The end value of the range. This field is used for range search types.")
@JsonProperty("endValue")
public String getEndValue() {
return endValue;
}
public void setEndValue(String endValue) {
this.endValue = endValue;
}
/**
* A list of values for the search to match against
**/
public VoicemailSearchCriteria values(List values) {
this.values = values;
return this;
}
@ApiModelProperty(example = "null", value = "A list of values for the search to match against")
@JsonProperty("values")
public List getValues() {
return values;
}
public void setValues(List values) {
this.values = values;
}
/**
* The start value of the range. This field is used for range search types.
**/
public VoicemailSearchCriteria startValue(String startValue) {
this.startValue = startValue;
return this;
}
@ApiModelProperty(example = "null", value = "The start value of the range. This field is used for range search types.")
@JsonProperty("startValue")
public String getStartValue() {
return startValue;
}
public void setStartValue(String startValue) {
this.startValue = startValue;
}
/**
* Field names to search against
**/
public VoicemailSearchCriteria fields(List fields) {
this.fields = fields;
return this;
}
@ApiModelProperty(example = "null", value = "Field names to search against")
@JsonProperty("fields")
public List getFields() {
return fields;
}
public void setFields(List fields) {
this.fields = fields;
}
/**
* A value for the search to match against
**/
public VoicemailSearchCriteria value(String value) {
this.value = value;
return this;
}
@ApiModelProperty(example = "null", value = "A value for the search to match against")
@JsonProperty("value")
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
/**
* How to apply this search criteria against other criteria
**/
public VoicemailSearchCriteria operator(OperatorEnum operator) {
this.operator = operator;
return this;
}
@ApiModelProperty(example = "null", value = "How to apply this search criteria against other criteria")
@JsonProperty("operator")
public OperatorEnum getOperator() {
return operator;
}
public void setOperator(OperatorEnum operator) {
this.operator = operator;
}
/**
* Groups multiple conditions
**/
public VoicemailSearchCriteria group(List group) {
this.group = group;
return this;
}
@ApiModelProperty(example = "null", value = "Groups multiple conditions")
@JsonProperty("group")
public List getGroup() {
return group;
}
public void setGroup(List group) {
this.group = group;
}
/**
* Search Type
**/
public VoicemailSearchCriteria type(TypeEnum type) {
this.type = type;
return this;
}
@ApiModelProperty(example = "null", required = true, value = "Search Type")
@JsonProperty("type")
public TypeEnum getType() {
return type;
}
public void setType(TypeEnum type) {
this.type = type;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
VoicemailSearchCriteria voicemailSearchCriteria = (VoicemailSearchCriteria) o;
return Objects.equals(this.endValue, voicemailSearchCriteria.endValue) &&
Objects.equals(this.values, voicemailSearchCriteria.values) &&
Objects.equals(this.startValue, voicemailSearchCriteria.startValue) &&
Objects.equals(this.fields, voicemailSearchCriteria.fields) &&
Objects.equals(this.value, voicemailSearchCriteria.value) &&
Objects.equals(this.operator, voicemailSearchCriteria.operator) &&
Objects.equals(this.group, voicemailSearchCriteria.group) &&
Objects.equals(this.type, voicemailSearchCriteria.type);
}
@Override
public int hashCode() {
return Objects.hash(endValue, values, startValue, fields, value, operator, group, type);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class VoicemailSearchCriteria {\n");
sb.append(" endValue: ").append(toIndentedString(endValue)).append("\n");
sb.append(" values: ").append(toIndentedString(values)).append("\n");
sb.append(" startValue: ").append(toIndentedString(startValue)).append("\n");
sb.append(" fields: ").append(toIndentedString(fields)).append("\n");
sb.append(" value: ").append(toIndentedString(value)).append("\n");
sb.append(" operator: ").append(toIndentedString(operator)).append("\n");
sb.append(" group: ").append(toIndentedString(group)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}