
com.zendesk.sunshine_conversations_client.model.ReleaseControlBody Maven / Gradle / Ivy
The newest version!
/*
* Sunshine Conversations API
*
* The version of the OpenAPI document: 15.5.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.zendesk.sunshine_conversations_client.model;
import java.util.Objects;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* ReleaseControlBody
*/
@JsonPropertyOrder({
ReleaseControlBody.JSON_PROPERTY_REASON,
ReleaseControlBody.JSON_PROPERTY_METADATA
})
public class ReleaseControlBody {
/**
* Reason for the release control action.
*/
public enum ReasonEnum {
TICKETCLOSED("ticketClosed"),
TRANSFERTOEMAIL("transferToEmail");
private String value;
ReasonEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static ReasonEnum fromValue(String value) {
for (ReasonEnum b : ReasonEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_REASON = "reason";
private ReasonEnum reason;
public static final String JSON_PROPERTY_METADATA = "metadata";
private Map metadata = null;
public ReleaseControlBody reason(ReasonEnum reason) {
this.reason = reason;
return this;
}
/**
* Reason for the release control action.
* @return reason
**/
@jakarta.annotation.Nullable
@ApiModelProperty(value = "Reason for the release control action.")
@JsonProperty(JSON_PROPERTY_REASON)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ReasonEnum getReason() {
return reason;
}
public void setReason(ReasonEnum reason) {
this.reason = reason;
}
public ReleaseControlBody metadata(Map metadata) {
this.metadata = metadata;
return this;
}
/**
* Flat object containing custom properties. Strings, numbers and booleans are the only supported format that can be passed to metadata. The metadata is limited to 4KB in size. The metadata object will be included in the `switchboard:releaseControl` webhook.
* @return metadata
**/
@jakarta.annotation.Nullable
@ApiModelProperty(value = "Flat object containing custom properties. Strings, numbers and booleans are the only supported format that can be passed to metadata. The metadata is limited to 4KB in size. The metadata object will be included in the `switchboard:releaseControl` webhook.")
@JsonProperty(JSON_PROPERTY_METADATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Map getMetadata() {
return metadata;
}
public void setMetadata(Map metadata) {
this.metadata = metadata;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ReleaseControlBody releaseControlBody = (ReleaseControlBody) o;
return Objects.equals(this.reason, releaseControlBody.reason) &&
Objects.equals(this.metadata, releaseControlBody.metadata);
}
@Override
public int hashCode() {
return Objects.hash(reason, metadata);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ReleaseControlBody {\n");
sb.append(" reason: ").append(toIndentedString(reason)).append("\n");
sb.append(" metadata: ").append(toIndentedString(metadata)).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 ");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy