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}