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}