001package com.box.sdkgen.schemas.v2025r0.collaborationpermissionsv2025r0;
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/** The collaboration permissions. */
010@JsonFilter("nullablePropertyFilter")
011public class CollaborationPermissionsV2025R0 extends SerializableObject {
012
013  /** The co-owner role is enabled for collaboration. */
014  @JsonProperty("is_co_owner_role_enabled")
015  protected Boolean isCoOwnerRoleEnabled;
016
017  /** The editor role is enabled for collaboration. */
018  @JsonProperty("is_editor_role_enabled")
019  protected Boolean isEditorRoleEnabled;
020
021  /** The previewer role is enabled for collaboration. */
022  @JsonProperty("is_previewer_role_enabled")
023  protected Boolean isPreviewerRoleEnabled;
024
025  /** The previewer uploader role is enabled for collaboration. */
026  @JsonProperty("is_previewer_uploader_role_enabled")
027  protected Boolean isPreviewerUploaderRoleEnabled;
028
029  /** The uploader role is enabled for collaboration. */
030  @JsonProperty("is_uploader_role_enabled")
031  protected Boolean isUploaderRoleEnabled;
032
033  /** The viewer role is enabled for collaboration. */
034  @JsonProperty("is_viewer_role_enabled")
035  protected Boolean isViewerRoleEnabled;
036
037  /** The viewer uploader role is enabled for collaboration. */
038  @JsonProperty("is_viewer_uploader_role_enabled")
039  protected Boolean isViewerUploaderRoleEnabled;
040
041  public CollaborationPermissionsV2025R0() {
042    super();
043  }
044
045  protected CollaborationPermissionsV2025R0(Builder builder) {
046    super();
047    this.isCoOwnerRoleEnabled = builder.isCoOwnerRoleEnabled;
048    this.isEditorRoleEnabled = builder.isEditorRoleEnabled;
049    this.isPreviewerRoleEnabled = builder.isPreviewerRoleEnabled;
050    this.isPreviewerUploaderRoleEnabled = builder.isPreviewerUploaderRoleEnabled;
051    this.isUploaderRoleEnabled = builder.isUploaderRoleEnabled;
052    this.isViewerRoleEnabled = builder.isViewerRoleEnabled;
053    this.isViewerUploaderRoleEnabled = builder.isViewerUploaderRoleEnabled;
054    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
055  }
056
057  public Boolean getIsCoOwnerRoleEnabled() {
058    return isCoOwnerRoleEnabled;
059  }
060
061  public Boolean getIsEditorRoleEnabled() {
062    return isEditorRoleEnabled;
063  }
064
065  public Boolean getIsPreviewerRoleEnabled() {
066    return isPreviewerRoleEnabled;
067  }
068
069  public Boolean getIsPreviewerUploaderRoleEnabled() {
070    return isPreviewerUploaderRoleEnabled;
071  }
072
073  public Boolean getIsUploaderRoleEnabled() {
074    return isUploaderRoleEnabled;
075  }
076
077  public Boolean getIsViewerRoleEnabled() {
078    return isViewerRoleEnabled;
079  }
080
081  public Boolean getIsViewerUploaderRoleEnabled() {
082    return isViewerUploaderRoleEnabled;
083  }
084
085  @Override
086  public boolean equals(Object o) {
087    if (this == o) {
088      return true;
089    }
090    if (o == null || getClass() != o.getClass()) {
091      return false;
092    }
093    CollaborationPermissionsV2025R0 casted = (CollaborationPermissionsV2025R0) o;
094    return Objects.equals(isCoOwnerRoleEnabled, casted.isCoOwnerRoleEnabled)
095        && Objects.equals(isEditorRoleEnabled, casted.isEditorRoleEnabled)
096        && Objects.equals(isPreviewerRoleEnabled, casted.isPreviewerRoleEnabled)
097        && Objects.equals(isPreviewerUploaderRoleEnabled, casted.isPreviewerUploaderRoleEnabled)
098        && Objects.equals(isUploaderRoleEnabled, casted.isUploaderRoleEnabled)
099        && Objects.equals(isViewerRoleEnabled, casted.isViewerRoleEnabled)
100        && Objects.equals(isViewerUploaderRoleEnabled, casted.isViewerUploaderRoleEnabled);
101  }
102
103  @Override
104  public int hashCode() {
105    return Objects.hash(
106        isCoOwnerRoleEnabled,
107        isEditorRoleEnabled,
108        isPreviewerRoleEnabled,
109        isPreviewerUploaderRoleEnabled,
110        isUploaderRoleEnabled,
111        isViewerRoleEnabled,
112        isViewerUploaderRoleEnabled);
113  }
114
115  @Override
116  public String toString() {
117    return "CollaborationPermissionsV2025R0{"
118        + "isCoOwnerRoleEnabled='"
119        + isCoOwnerRoleEnabled
120        + '\''
121        + ", "
122        + "isEditorRoleEnabled='"
123        + isEditorRoleEnabled
124        + '\''
125        + ", "
126        + "isPreviewerRoleEnabled='"
127        + isPreviewerRoleEnabled
128        + '\''
129        + ", "
130        + "isPreviewerUploaderRoleEnabled='"
131        + isPreviewerUploaderRoleEnabled
132        + '\''
133        + ", "
134        + "isUploaderRoleEnabled='"
135        + isUploaderRoleEnabled
136        + '\''
137        + ", "
138        + "isViewerRoleEnabled='"
139        + isViewerRoleEnabled
140        + '\''
141        + ", "
142        + "isViewerUploaderRoleEnabled='"
143        + isViewerUploaderRoleEnabled
144        + '\''
145        + "}";
146  }
147
148  public static class Builder extends NullableFieldTracker {
149
150    protected Boolean isCoOwnerRoleEnabled;
151
152    protected Boolean isEditorRoleEnabled;
153
154    protected Boolean isPreviewerRoleEnabled;
155
156    protected Boolean isPreviewerUploaderRoleEnabled;
157
158    protected Boolean isUploaderRoleEnabled;
159
160    protected Boolean isViewerRoleEnabled;
161
162    protected Boolean isViewerUploaderRoleEnabled;
163
164    public Builder isCoOwnerRoleEnabled(Boolean isCoOwnerRoleEnabled) {
165      this.isCoOwnerRoleEnabled = isCoOwnerRoleEnabled;
166      return this;
167    }
168
169    public Builder isEditorRoleEnabled(Boolean isEditorRoleEnabled) {
170      this.isEditorRoleEnabled = isEditorRoleEnabled;
171      return this;
172    }
173
174    public Builder isPreviewerRoleEnabled(Boolean isPreviewerRoleEnabled) {
175      this.isPreviewerRoleEnabled = isPreviewerRoleEnabled;
176      return this;
177    }
178
179    public Builder isPreviewerUploaderRoleEnabled(Boolean isPreviewerUploaderRoleEnabled) {
180      this.isPreviewerUploaderRoleEnabled = isPreviewerUploaderRoleEnabled;
181      return this;
182    }
183
184    public Builder isUploaderRoleEnabled(Boolean isUploaderRoleEnabled) {
185      this.isUploaderRoleEnabled = isUploaderRoleEnabled;
186      return this;
187    }
188
189    public Builder isViewerRoleEnabled(Boolean isViewerRoleEnabled) {
190      this.isViewerRoleEnabled = isViewerRoleEnabled;
191      return this;
192    }
193
194    public Builder isViewerUploaderRoleEnabled(Boolean isViewerUploaderRoleEnabled) {
195      this.isViewerUploaderRoleEnabled = isViewerUploaderRoleEnabled;
196      return this;
197    }
198
199    public CollaborationPermissionsV2025R0 build() {
200      return new CollaborationPermissionsV2025R0(this);
201    }
202  }
203}