com.zendesk.sunshine_conversations_client.model.Referral Maven / Gradle / Ivy
/*
* Sunshine Conversations API
*
* The version of the OpenAPI document: 12.8.0
*
*
* 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 com.zendesk.sunshine_conversations_client.model.ReferralDetails;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.openapitools.jackson.nullable.JsonNullable;
import java.util.NoSuchElementException;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* Data representing a referral object when a user is referred to a conversation. See the <a href=\"https://docs.smooch.io/guide/conversation-referrals/\">conversation referrals</a> guide for more details.
*/
@ApiModel(description = "Data representing a referral object when a user is referred to a conversation. See the conversation referrals guide for more details. ")
@JsonPropertyOrder({
Referral.JSON_PROPERTY_CODE,
Referral.JSON_PROPERTY_DETAILS
})
public class Referral {
public static final String JSON_PROPERTY_CODE = "code";
private String code;
public static final String JSON_PROPERTY_DETAILS = "details";
private JsonNullable details = JsonNullable.undefined();
public Referral code(String code) {
this.code = code;
return this;
}
/**
* The referral’s identifier.
* @return code
**/
@jakarta.annotation.Nullable
@ApiModelProperty(value = "The referral’s identifier.")
@JsonProperty(JSON_PROPERTY_CODE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public Referral details(ReferralDetails details) {
this.details = JsonNullable.of(details);
return this;
}
/**
* Get details
* @return details
**/
@jakarta.annotation.Nullable
@ApiModelProperty(value = "")
@JsonIgnore
public ReferralDetails getDetails() {
return details.orElse(null);
}
@JsonProperty(JSON_PROPERTY_DETAILS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public JsonNullable getDetails_JsonNullable() {
return details;
}
@JsonProperty(JSON_PROPERTY_DETAILS)
public void setDetails_JsonNullable(JsonNullable details) {
this.details = details;
}
public void setDetails(ReferralDetails details) {
this.details = JsonNullable.of(details);
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Referral referral = (Referral) o;
return Objects.equals(this.code, referral.code) &&
Objects.equals(this.details, referral.details);
}
@Override
public int hashCode() {
return Objects.hash(code, details);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Referral {\n");
sb.append(" code: ").append(toIndentedString(code)).append("\n");
sb.append(" details: ").append(toIndentedString(details)).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 ");
}
}