001package com.box.sdkgen.managers.sharedlinksfiles;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import java.util.Objects;
008
009@JsonFilter("nullablePropertyFilter")
010public class AddShareLinkToFileRequestBody extends SerializableObject {
011
012  /**
013   * The settings for the shared link to create on the file. Use an empty object (`{}`) to use the
014   * default settings for shared links.
015   */
016  @JsonProperty("shared_link")
017  protected AddShareLinkToFileRequestBodySharedLinkField sharedLink;
018
019  public AddShareLinkToFileRequestBody() {
020    super();
021  }
022
023  protected AddShareLinkToFileRequestBody(Builder builder) {
024    super();
025    this.sharedLink = builder.sharedLink;
026    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
027  }
028
029  public AddShareLinkToFileRequestBodySharedLinkField getSharedLink() {
030    return sharedLink;
031  }
032
033  @Override
034  public boolean equals(Object o) {
035    if (this == o) {
036      return true;
037    }
038    if (o == null || getClass() != o.getClass()) {
039      return false;
040    }
041    AddShareLinkToFileRequestBody casted = (AddShareLinkToFileRequestBody) o;
042    return Objects.equals(sharedLink, casted.sharedLink);
043  }
044
045  @Override
046  public int hashCode() {
047    return Objects.hash(sharedLink);
048  }
049
050  @Override
051  public String toString() {
052    return "AddShareLinkToFileRequestBody{" + "sharedLink='" + sharedLink + '\'' + "}";
053  }
054
055  public static class Builder extends NullableFieldTracker {
056
057    protected AddShareLinkToFileRequestBodySharedLinkField sharedLink;
058
059    public Builder sharedLink(AddShareLinkToFileRequestBodySharedLinkField sharedLink) {
060      this.sharedLink = sharedLink;
061      return this;
062    }
063
064    public AddShareLinkToFileRequestBody build() {
065      return new AddShareLinkToFileRequestBody(this);
066    }
067  }
068}