001package com.box.sdkgen.schemas.signrequestcancelrequest;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008/** Request body for cancelling a sign request. */
009@JsonFilter("nullablePropertyFilter")
010public class SignRequestCancelRequest extends SerializableObject {
011
012  /** An optional reason for cancelling the sign request. */
013  protected String reason;
014
015  public SignRequestCancelRequest() {
016    super();
017  }
018
019  protected SignRequestCancelRequest(Builder builder) {
020    super();
021    this.reason = builder.reason;
022    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
023  }
024
025  public String getReason() {
026    return reason;
027  }
028
029  @Override
030  public boolean equals(Object o) {
031    if (this == o) {
032      return true;
033    }
034    if (o == null || getClass() != o.getClass()) {
035      return false;
036    }
037    SignRequestCancelRequest casted = (SignRequestCancelRequest) o;
038    return Objects.equals(reason, casted.reason);
039  }
040
041  @Override
042  public int hashCode() {
043    return Objects.hash(reason);
044  }
045
046  @Override
047  public String toString() {
048    return "SignRequestCancelRequest{" + "reason='" + reason + '\'' + "}";
049  }
050
051  public static class Builder extends NullableFieldTracker {
052
053    protected String reason;
054
055    public Builder reason(String reason) {
056      this.reason = reason;
057      return this;
058    }
059
060    public SignRequestCancelRequest build() {
061      return new SignRequestCancelRequest(this);
062    }
063  }
064}