001package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationusersettingsv2025r0; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitembooleanv2025r0.EnterpriseConfigurationItemBooleanV2025R0; 006import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemintegerv2025r0.EnterpriseConfigurationItemIntegerV2025R0; 007import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0.EnterpriseConfigurationItemStringV2025R0; 008import com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingsitemv2025r0.EnterpriseFeatureSettingsItemV2025R0; 009import com.fasterxml.jackson.annotation.JsonFilter; 010import com.fasterxml.jackson.annotation.JsonProperty; 011import java.util.List; 012import java.util.Objects; 013 014/** The enterprise configuration for the user settings category. */ 015@JsonFilter("nullablePropertyFilter") 016public class EnterpriseConfigurationUserSettingsV2025R0 extends SerializableObject { 017 018 @JsonProperty("enterprise_feature_settings") 019 protected List<EnterpriseFeatureSettingsItemV2025R0> enterpriseFeatureSettings; 020 021 @JsonProperty("user_invites_expiration_time_frame") 022 protected EnterpriseConfigurationItemStringV2025R0 userInvitesExpirationTimeFrame; 023 024 @JsonProperty("is_username_change_restricted") 025 protected EnterpriseConfigurationItemBooleanV2025R0 isUsernameChangeRestricted; 026 027 @JsonProperty("is_box_sync_restricted_for_new_users") 028 protected EnterpriseConfigurationItemBooleanV2025R0 isBoxSyncRestrictedForNewUsers; 029 030 @JsonProperty("is_view_all_users_enabled_for_new_users") 031 protected EnterpriseConfigurationItemBooleanV2025R0 isViewAllUsersEnabledForNewUsers; 032 033 @JsonProperty("is_device_limit_exemption_enabled_for_new_users") 034 protected EnterpriseConfigurationItemBooleanV2025R0 isDeviceLimitExemptionEnabledForNewUsers; 035 036 @JsonProperty("is_external_collaboration_restricted_for_new_users") 037 protected EnterpriseConfigurationItemBooleanV2025R0 isExternalCollaborationRestrictedForNewUsers; 038 039 @JsonProperty("is_unlimited_storage_enabled_for_new_users") 040 protected EnterpriseConfigurationItemBooleanV2025R0 isUnlimitedStorageEnabledForNewUsers; 041 042 @JsonProperty("new_user_default_storage_limit") 043 protected EnterpriseConfigurationItemIntegerV2025R0 newUserDefaultStorageLimit; 044 045 @JsonProperty("new_user_default_timezone") 046 protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultTimezone; 047 048 @JsonProperty("new_user_default_language") 049 protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultLanguage; 050 051 @JsonProperty("is_enterprise_sso_required") 052 protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoRequired; 053 054 @JsonProperty("is_enterprise_sso_in_testing") 055 protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoInTesting; 056 057 @JsonProperty("is_sso_auto_add_groups_enabled") 058 protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddGroupsEnabled; 059 060 @JsonProperty("is_sso_auto_add_user_to_groups_enabled") 061 protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddUserToGroupsEnabled; 062 063 @JsonProperty("is_sso_auto_remove_user_from_groups_enabled") 064 protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoRemoveUserFromGroupsEnabled; 065 066 @JsonProperty("user_tracking_codes") 067 protected EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField userTrackingCodes; 068 069 @JsonProperty("number_of_user_tracking_codes_remaining") 070 protected EnterpriseConfigurationItemIntegerV2025R0 numberOfUserTrackingCodesRemaining; 071 072 @JsonProperty("is_instant_login_restricted") 073 protected EnterpriseConfigurationItemBooleanV2025R0 isInstantLoginRestricted; 074 075 public EnterpriseConfigurationUserSettingsV2025R0() { 076 super(); 077 } 078 079 protected EnterpriseConfigurationUserSettingsV2025R0(Builder builder) { 080 super(); 081 this.enterpriseFeatureSettings = builder.enterpriseFeatureSettings; 082 this.userInvitesExpirationTimeFrame = builder.userInvitesExpirationTimeFrame; 083 this.isUsernameChangeRestricted = builder.isUsernameChangeRestricted; 084 this.isBoxSyncRestrictedForNewUsers = builder.isBoxSyncRestrictedForNewUsers; 085 this.isViewAllUsersEnabledForNewUsers = builder.isViewAllUsersEnabledForNewUsers; 086 this.isDeviceLimitExemptionEnabledForNewUsers = 087 builder.isDeviceLimitExemptionEnabledForNewUsers; 088 this.isExternalCollaborationRestrictedForNewUsers = 089 builder.isExternalCollaborationRestrictedForNewUsers; 090 this.isUnlimitedStorageEnabledForNewUsers = builder.isUnlimitedStorageEnabledForNewUsers; 091 this.newUserDefaultStorageLimit = builder.newUserDefaultStorageLimit; 092 this.newUserDefaultTimezone = builder.newUserDefaultTimezone; 093 this.newUserDefaultLanguage = builder.newUserDefaultLanguage; 094 this.isEnterpriseSsoRequired = builder.isEnterpriseSsoRequired; 095 this.isEnterpriseSsoInTesting = builder.isEnterpriseSsoInTesting; 096 this.isSsoAutoAddGroupsEnabled = builder.isSsoAutoAddGroupsEnabled; 097 this.isSsoAutoAddUserToGroupsEnabled = builder.isSsoAutoAddUserToGroupsEnabled; 098 this.isSsoAutoRemoveUserFromGroupsEnabled = builder.isSsoAutoRemoveUserFromGroupsEnabled; 099 this.userTrackingCodes = builder.userTrackingCodes; 100 this.numberOfUserTrackingCodesRemaining = builder.numberOfUserTrackingCodesRemaining; 101 this.isInstantLoginRestricted = builder.isInstantLoginRestricted; 102 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 103 } 104 105 public List<EnterpriseFeatureSettingsItemV2025R0> getEnterpriseFeatureSettings() { 106 return enterpriseFeatureSettings; 107 } 108 109 public EnterpriseConfigurationItemStringV2025R0 getUserInvitesExpirationTimeFrame() { 110 return userInvitesExpirationTimeFrame; 111 } 112 113 public EnterpriseConfigurationItemBooleanV2025R0 getIsUsernameChangeRestricted() { 114 return isUsernameChangeRestricted; 115 } 116 117 public EnterpriseConfigurationItemBooleanV2025R0 getIsBoxSyncRestrictedForNewUsers() { 118 return isBoxSyncRestrictedForNewUsers; 119 } 120 121 public EnterpriseConfigurationItemBooleanV2025R0 getIsViewAllUsersEnabledForNewUsers() { 122 return isViewAllUsersEnabledForNewUsers; 123 } 124 125 public EnterpriseConfigurationItemBooleanV2025R0 getIsDeviceLimitExemptionEnabledForNewUsers() { 126 return isDeviceLimitExemptionEnabledForNewUsers; 127 } 128 129 public EnterpriseConfigurationItemBooleanV2025R0 130 getIsExternalCollaborationRestrictedForNewUsers() { 131 return isExternalCollaborationRestrictedForNewUsers; 132 } 133 134 public EnterpriseConfigurationItemBooleanV2025R0 getIsUnlimitedStorageEnabledForNewUsers() { 135 return isUnlimitedStorageEnabledForNewUsers; 136 } 137 138 public EnterpriseConfigurationItemIntegerV2025R0 getNewUserDefaultStorageLimit() { 139 return newUserDefaultStorageLimit; 140 } 141 142 public EnterpriseConfigurationItemStringV2025R0 getNewUserDefaultTimezone() { 143 return newUserDefaultTimezone; 144 } 145 146 public EnterpriseConfigurationItemStringV2025R0 getNewUserDefaultLanguage() { 147 return newUserDefaultLanguage; 148 } 149 150 public EnterpriseConfigurationItemBooleanV2025R0 getIsEnterpriseSsoRequired() { 151 return isEnterpriseSsoRequired; 152 } 153 154 public EnterpriseConfigurationItemBooleanV2025R0 getIsEnterpriseSsoInTesting() { 155 return isEnterpriseSsoInTesting; 156 } 157 158 public EnterpriseConfigurationItemBooleanV2025R0 getIsSsoAutoAddGroupsEnabled() { 159 return isSsoAutoAddGroupsEnabled; 160 } 161 162 public EnterpriseConfigurationItemBooleanV2025R0 getIsSsoAutoAddUserToGroupsEnabled() { 163 return isSsoAutoAddUserToGroupsEnabled; 164 } 165 166 public EnterpriseConfigurationItemBooleanV2025R0 getIsSsoAutoRemoveUserFromGroupsEnabled() { 167 return isSsoAutoRemoveUserFromGroupsEnabled; 168 } 169 170 public EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField getUserTrackingCodes() { 171 return userTrackingCodes; 172 } 173 174 public EnterpriseConfigurationItemIntegerV2025R0 getNumberOfUserTrackingCodesRemaining() { 175 return numberOfUserTrackingCodesRemaining; 176 } 177 178 public EnterpriseConfigurationItemBooleanV2025R0 getIsInstantLoginRestricted() { 179 return isInstantLoginRestricted; 180 } 181 182 @Override 183 public boolean equals(Object o) { 184 if (this == o) { 185 return true; 186 } 187 if (o == null || getClass() != o.getClass()) { 188 return false; 189 } 190 EnterpriseConfigurationUserSettingsV2025R0 casted = 191 (EnterpriseConfigurationUserSettingsV2025R0) o; 192 return Objects.equals(enterpriseFeatureSettings, casted.enterpriseFeatureSettings) 193 && Objects.equals(userInvitesExpirationTimeFrame, casted.userInvitesExpirationTimeFrame) 194 && Objects.equals(isUsernameChangeRestricted, casted.isUsernameChangeRestricted) 195 && Objects.equals(isBoxSyncRestrictedForNewUsers, casted.isBoxSyncRestrictedForNewUsers) 196 && Objects.equals(isViewAllUsersEnabledForNewUsers, casted.isViewAllUsersEnabledForNewUsers) 197 && Objects.equals( 198 isDeviceLimitExemptionEnabledForNewUsers, 199 casted.isDeviceLimitExemptionEnabledForNewUsers) 200 && Objects.equals( 201 isExternalCollaborationRestrictedForNewUsers, 202 casted.isExternalCollaborationRestrictedForNewUsers) 203 && Objects.equals( 204 isUnlimitedStorageEnabledForNewUsers, casted.isUnlimitedStorageEnabledForNewUsers) 205 && Objects.equals(newUserDefaultStorageLimit, casted.newUserDefaultStorageLimit) 206 && Objects.equals(newUserDefaultTimezone, casted.newUserDefaultTimezone) 207 && Objects.equals(newUserDefaultLanguage, casted.newUserDefaultLanguage) 208 && Objects.equals(isEnterpriseSsoRequired, casted.isEnterpriseSsoRequired) 209 && Objects.equals(isEnterpriseSsoInTesting, casted.isEnterpriseSsoInTesting) 210 && Objects.equals(isSsoAutoAddGroupsEnabled, casted.isSsoAutoAddGroupsEnabled) 211 && Objects.equals(isSsoAutoAddUserToGroupsEnabled, casted.isSsoAutoAddUserToGroupsEnabled) 212 && Objects.equals( 213 isSsoAutoRemoveUserFromGroupsEnabled, casted.isSsoAutoRemoveUserFromGroupsEnabled) 214 && Objects.equals(userTrackingCodes, casted.userTrackingCodes) 215 && Objects.equals( 216 numberOfUserTrackingCodesRemaining, casted.numberOfUserTrackingCodesRemaining) 217 && Objects.equals(isInstantLoginRestricted, casted.isInstantLoginRestricted); 218 } 219 220 @Override 221 public int hashCode() { 222 return Objects.hash( 223 enterpriseFeatureSettings, 224 userInvitesExpirationTimeFrame, 225 isUsernameChangeRestricted, 226 isBoxSyncRestrictedForNewUsers, 227 isViewAllUsersEnabledForNewUsers, 228 isDeviceLimitExemptionEnabledForNewUsers, 229 isExternalCollaborationRestrictedForNewUsers, 230 isUnlimitedStorageEnabledForNewUsers, 231 newUserDefaultStorageLimit, 232 newUserDefaultTimezone, 233 newUserDefaultLanguage, 234 isEnterpriseSsoRequired, 235 isEnterpriseSsoInTesting, 236 isSsoAutoAddGroupsEnabled, 237 isSsoAutoAddUserToGroupsEnabled, 238 isSsoAutoRemoveUserFromGroupsEnabled, 239 userTrackingCodes, 240 numberOfUserTrackingCodesRemaining, 241 isInstantLoginRestricted); 242 } 243 244 @Override 245 public String toString() { 246 return "EnterpriseConfigurationUserSettingsV2025R0{" 247 + "enterpriseFeatureSettings='" 248 + enterpriseFeatureSettings 249 + '\'' 250 + ", " 251 + "userInvitesExpirationTimeFrame='" 252 + userInvitesExpirationTimeFrame 253 + '\'' 254 + ", " 255 + "isUsernameChangeRestricted='" 256 + isUsernameChangeRestricted 257 + '\'' 258 + ", " 259 + "isBoxSyncRestrictedForNewUsers='" 260 + isBoxSyncRestrictedForNewUsers 261 + '\'' 262 + ", " 263 + "isViewAllUsersEnabledForNewUsers='" 264 + isViewAllUsersEnabledForNewUsers 265 + '\'' 266 + ", " 267 + "isDeviceLimitExemptionEnabledForNewUsers='" 268 + isDeviceLimitExemptionEnabledForNewUsers 269 + '\'' 270 + ", " 271 + "isExternalCollaborationRestrictedForNewUsers='" 272 + isExternalCollaborationRestrictedForNewUsers 273 + '\'' 274 + ", " 275 + "isUnlimitedStorageEnabledForNewUsers='" 276 + isUnlimitedStorageEnabledForNewUsers 277 + '\'' 278 + ", " 279 + "newUserDefaultStorageLimit='" 280 + newUserDefaultStorageLimit 281 + '\'' 282 + ", " 283 + "newUserDefaultTimezone='" 284 + newUserDefaultTimezone 285 + '\'' 286 + ", " 287 + "newUserDefaultLanguage='" 288 + newUserDefaultLanguage 289 + '\'' 290 + ", " 291 + "isEnterpriseSsoRequired='" 292 + isEnterpriseSsoRequired 293 + '\'' 294 + ", " 295 + "isEnterpriseSsoInTesting='" 296 + isEnterpriseSsoInTesting 297 + '\'' 298 + ", " 299 + "isSsoAutoAddGroupsEnabled='" 300 + isSsoAutoAddGroupsEnabled 301 + '\'' 302 + ", " 303 + "isSsoAutoAddUserToGroupsEnabled='" 304 + isSsoAutoAddUserToGroupsEnabled 305 + '\'' 306 + ", " 307 + "isSsoAutoRemoveUserFromGroupsEnabled='" 308 + isSsoAutoRemoveUserFromGroupsEnabled 309 + '\'' 310 + ", " 311 + "userTrackingCodes='" 312 + userTrackingCodes 313 + '\'' 314 + ", " 315 + "numberOfUserTrackingCodesRemaining='" 316 + numberOfUserTrackingCodesRemaining 317 + '\'' 318 + ", " 319 + "isInstantLoginRestricted='" 320 + isInstantLoginRestricted 321 + '\'' 322 + "}"; 323 } 324 325 public static class Builder extends NullableFieldTracker { 326 327 protected List<EnterpriseFeatureSettingsItemV2025R0> enterpriseFeatureSettings; 328 329 protected EnterpriseConfigurationItemStringV2025R0 userInvitesExpirationTimeFrame; 330 331 protected EnterpriseConfigurationItemBooleanV2025R0 isUsernameChangeRestricted; 332 333 protected EnterpriseConfigurationItemBooleanV2025R0 isBoxSyncRestrictedForNewUsers; 334 335 protected EnterpriseConfigurationItemBooleanV2025R0 isViewAllUsersEnabledForNewUsers; 336 337 protected EnterpriseConfigurationItemBooleanV2025R0 isDeviceLimitExemptionEnabledForNewUsers; 338 339 protected EnterpriseConfigurationItemBooleanV2025R0 340 isExternalCollaborationRestrictedForNewUsers; 341 342 protected EnterpriseConfigurationItemBooleanV2025R0 isUnlimitedStorageEnabledForNewUsers; 343 344 protected EnterpriseConfigurationItemIntegerV2025R0 newUserDefaultStorageLimit; 345 346 protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultTimezone; 347 348 protected EnterpriseConfigurationItemStringV2025R0 newUserDefaultLanguage; 349 350 protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoRequired; 351 352 protected EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoInTesting; 353 354 protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddGroupsEnabled; 355 356 protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddUserToGroupsEnabled; 357 358 protected EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoRemoveUserFromGroupsEnabled; 359 360 protected EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField userTrackingCodes; 361 362 protected EnterpriseConfigurationItemIntegerV2025R0 numberOfUserTrackingCodesRemaining; 363 364 protected EnterpriseConfigurationItemBooleanV2025R0 isInstantLoginRestricted; 365 366 public Builder enterpriseFeatureSettings( 367 List<EnterpriseFeatureSettingsItemV2025R0> enterpriseFeatureSettings) { 368 this.enterpriseFeatureSettings = enterpriseFeatureSettings; 369 return this; 370 } 371 372 public Builder userInvitesExpirationTimeFrame( 373 EnterpriseConfigurationItemStringV2025R0 userInvitesExpirationTimeFrame) { 374 this.userInvitesExpirationTimeFrame = userInvitesExpirationTimeFrame; 375 return this; 376 } 377 378 public Builder isUsernameChangeRestricted( 379 EnterpriseConfigurationItemBooleanV2025R0 isUsernameChangeRestricted) { 380 this.isUsernameChangeRestricted = isUsernameChangeRestricted; 381 return this; 382 } 383 384 public Builder isBoxSyncRestrictedForNewUsers( 385 EnterpriseConfigurationItemBooleanV2025R0 isBoxSyncRestrictedForNewUsers) { 386 this.isBoxSyncRestrictedForNewUsers = isBoxSyncRestrictedForNewUsers; 387 return this; 388 } 389 390 public Builder isViewAllUsersEnabledForNewUsers( 391 EnterpriseConfigurationItemBooleanV2025R0 isViewAllUsersEnabledForNewUsers) { 392 this.isViewAllUsersEnabledForNewUsers = isViewAllUsersEnabledForNewUsers; 393 return this; 394 } 395 396 public Builder isDeviceLimitExemptionEnabledForNewUsers( 397 EnterpriseConfigurationItemBooleanV2025R0 isDeviceLimitExemptionEnabledForNewUsers) { 398 this.isDeviceLimitExemptionEnabledForNewUsers = isDeviceLimitExemptionEnabledForNewUsers; 399 return this; 400 } 401 402 public Builder isExternalCollaborationRestrictedForNewUsers( 403 EnterpriseConfigurationItemBooleanV2025R0 isExternalCollaborationRestrictedForNewUsers) { 404 this.isExternalCollaborationRestrictedForNewUsers = 405 isExternalCollaborationRestrictedForNewUsers; 406 return this; 407 } 408 409 public Builder isUnlimitedStorageEnabledForNewUsers( 410 EnterpriseConfigurationItemBooleanV2025R0 isUnlimitedStorageEnabledForNewUsers) { 411 this.isUnlimitedStorageEnabledForNewUsers = isUnlimitedStorageEnabledForNewUsers; 412 return this; 413 } 414 415 public Builder newUserDefaultStorageLimit( 416 EnterpriseConfigurationItemIntegerV2025R0 newUserDefaultStorageLimit) { 417 this.newUserDefaultStorageLimit = newUserDefaultStorageLimit; 418 return this; 419 } 420 421 public Builder newUserDefaultTimezone( 422 EnterpriseConfigurationItemStringV2025R0 newUserDefaultTimezone) { 423 this.newUserDefaultTimezone = newUserDefaultTimezone; 424 return this; 425 } 426 427 public Builder newUserDefaultLanguage( 428 EnterpriseConfigurationItemStringV2025R0 newUserDefaultLanguage) { 429 this.newUserDefaultLanguage = newUserDefaultLanguage; 430 return this; 431 } 432 433 public Builder isEnterpriseSsoRequired( 434 EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoRequired) { 435 this.isEnterpriseSsoRequired = isEnterpriseSsoRequired; 436 return this; 437 } 438 439 public Builder isEnterpriseSsoInTesting( 440 EnterpriseConfigurationItemBooleanV2025R0 isEnterpriseSsoInTesting) { 441 this.isEnterpriseSsoInTesting = isEnterpriseSsoInTesting; 442 return this; 443 } 444 445 public Builder isSsoAutoAddGroupsEnabled( 446 EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddGroupsEnabled) { 447 this.isSsoAutoAddGroupsEnabled = isSsoAutoAddGroupsEnabled; 448 return this; 449 } 450 451 public Builder isSsoAutoAddUserToGroupsEnabled( 452 EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoAddUserToGroupsEnabled) { 453 this.isSsoAutoAddUserToGroupsEnabled = isSsoAutoAddUserToGroupsEnabled; 454 return this; 455 } 456 457 public Builder isSsoAutoRemoveUserFromGroupsEnabled( 458 EnterpriseConfigurationItemBooleanV2025R0 isSsoAutoRemoveUserFromGroupsEnabled) { 459 this.isSsoAutoRemoveUserFromGroupsEnabled = isSsoAutoRemoveUserFromGroupsEnabled; 460 return this; 461 } 462 463 public Builder userTrackingCodes( 464 EnterpriseConfigurationUserSettingsV2025R0UserTrackingCodesField userTrackingCodes) { 465 this.userTrackingCodes = userTrackingCodes; 466 return this; 467 } 468 469 public Builder numberOfUserTrackingCodesRemaining( 470 EnterpriseConfigurationItemIntegerV2025R0 numberOfUserTrackingCodesRemaining) { 471 this.numberOfUserTrackingCodesRemaining = numberOfUserTrackingCodesRemaining; 472 return this; 473 } 474 475 public Builder isInstantLoginRestricted( 476 EnterpriseConfigurationItemBooleanV2025R0 isInstantLoginRestricted) { 477 this.isInstantLoginRestricted = isInstantLoginRestricted; 478 return this; 479 } 480 481 public EnterpriseConfigurationUserSettingsV2025R0 build() { 482 return new EnterpriseConfigurationUserSettingsV2025R0(this); 483 } 484 } 485}