001package com.box.sdkgen.managers.termsofservices;
002
003import com.box.sdkgen.internal.SerializableObject;
004import com.box.sdkgen.serialization.json.EnumWrapper;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
008import com.fasterxml.jackson.databind.annotation.JsonSerialize;
009import java.util.Objects;
010
011@JsonFilter("nullablePropertyFilter")
012public class UpdateTermsOfServiceByIdRequestBody extends SerializableObject {
013
014  /** Whether this terms of service is active. */
015  @JsonDeserialize(
016      using =
017          UpdateTermsOfServiceByIdRequestBodyStatusField
018              .UpdateTermsOfServiceByIdRequestBodyStatusFieldDeserializer.class)
019  @JsonSerialize(
020      using =
021          UpdateTermsOfServiceByIdRequestBodyStatusField
022              .UpdateTermsOfServiceByIdRequestBodyStatusFieldSerializer.class)
023  protected final EnumWrapper<UpdateTermsOfServiceByIdRequestBodyStatusField> status;
024
025  /**
026   * The terms of service text to display to users.
027   *
028   * <p>The text can be set to empty if the `status` is set to `disabled`.
029   */
030  protected final String text;
031
032  public UpdateTermsOfServiceByIdRequestBody(
033      UpdateTermsOfServiceByIdRequestBodyStatusField status, String text) {
034    super();
035    this.status = new EnumWrapper<UpdateTermsOfServiceByIdRequestBodyStatusField>(status);
036    this.text = text;
037  }
038
039  public UpdateTermsOfServiceByIdRequestBody(
040      @JsonProperty("status") EnumWrapper<UpdateTermsOfServiceByIdRequestBodyStatusField> status,
041      @JsonProperty("text") String text) {
042    super();
043    this.status = status;
044    this.text = text;
045  }
046
047  public EnumWrapper<UpdateTermsOfServiceByIdRequestBodyStatusField> getStatus() {
048    return status;
049  }
050
051  public String getText() {
052    return text;
053  }
054
055  @Override
056  public boolean equals(Object o) {
057    if (this == o) {
058      return true;
059    }
060    if (o == null || getClass() != o.getClass()) {
061      return false;
062    }
063    UpdateTermsOfServiceByIdRequestBody casted = (UpdateTermsOfServiceByIdRequestBody) o;
064    return Objects.equals(status, casted.status) && Objects.equals(text, casted.text);
065  }
066
067  @Override
068  public int hashCode() {
069    return Objects.hash(status, text);
070  }
071
072  @Override
073  public String toString() {
074    return "UpdateTermsOfServiceByIdRequestBody{"
075        + "status='"
076        + status
077        + '\''
078        + ", "
079        + "text='"
080        + text
081        + '\''
082        + "}";
083  }
084}