001package com.box.sdkgen.managers.sharedlinksfolders;
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 AddShareLinkToFolderRequestBody extends SerializableObject {
011
012  /**
013   * The settings for the shared link to create on the folder.
014   *
015   * <p>Use an empty object (`{}`) to use the default settings for shared links.
016   */
017  @JsonProperty("shared_link")
018  protected AddShareLinkToFolderRequestBodySharedLinkField sharedLink;
019
020  public AddShareLinkToFolderRequestBody() {
021    super();
022  }
023
024  protected AddShareLinkToFolderRequestBody(Builder builder) {
025    super();
026    this.sharedLink = builder.sharedLink;
027    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
028  }
029
030  public AddShareLinkToFolderRequestBodySharedLinkField getSharedLink() {
031    return sharedLink;
032  }
033
034  @Override
035  public boolean equals(Object o) {
036    if (this == o) {
037      return true;
038    }
039    if (o == null || getClass() != o.getClass()) {
040      return false;
041    }
042    AddShareLinkToFolderRequestBody casted = (AddShareLinkToFolderRequestBody) o;
043    return Objects.equals(sharedLink, casted.sharedLink);
044  }
045
046  @Override
047  public int hashCode() {
048    return Objects.hash(sharedLink);
049  }
050
051  @Override
052  public String toString() {
053    return "AddShareLinkToFolderRequestBody{" + "sharedLink='" + sharedLink + '\'' + "}";
054  }
055
056  public static class Builder extends NullableFieldTracker {
057
058    protected AddShareLinkToFolderRequestBodySharedLinkField sharedLink;
059
060    public Builder sharedLink(AddShareLinkToFolderRequestBodySharedLinkField sharedLink) {
061      this.sharedLink = sharedLink;
062      return this;
063    }
064
065    public AddShareLinkToFolderRequestBody build() {
066      return new AddShareLinkToFolderRequestBody(this);
067    }
068  }
069}