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