001package com.box.sdkgen.managers.sharedlinksweblinks;
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 RemoveSharedLinkFromWebLinkRequestBody extends SerializableObject {
012
013  /** By setting this value to `null`, the shared link is removed from the web link. */
014  @JsonProperty("shared_link")
015  @Nullable
016  protected RemoveSharedLinkFromWebLinkRequestBodySharedLinkField sharedLink;
017
018  public RemoveSharedLinkFromWebLinkRequestBody() {
019    super();
020  }
021
022  protected RemoveSharedLinkFromWebLinkRequestBody(Builder builder) {
023    super();
024    this.sharedLink = builder.sharedLink;
025    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
026  }
027
028  public RemoveSharedLinkFromWebLinkRequestBodySharedLinkField 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    RemoveSharedLinkFromWebLinkRequestBody casted = (RemoveSharedLinkFromWebLinkRequestBody) 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 "RemoveSharedLinkFromWebLinkRequestBody{" + "sharedLink='" + sharedLink + '\'' + "}";
052  }
053
054  public static class Builder extends NullableFieldTracker {
055
056    protected RemoveSharedLinkFromWebLinkRequestBodySharedLinkField sharedLink;
057
058    public Builder sharedLink(RemoveSharedLinkFromWebLinkRequestBodySharedLinkField sharedLink) {
059      this.sharedLink = sharedLink;
060      this.markNullableFieldAsSet("shared_link");
061      return this;
062    }
063
064    public RemoveSharedLinkFromWebLinkRequestBody build() {
065      return new RemoveSharedLinkFromWebLinkRequestBody(this);
066    }
067  }
068}