001package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationv2025r0; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0.EnterpriseConfigurationContentAndSharingV2025R0; 006import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationsecurityv2025r0.EnterpriseConfigurationSecurityV2025R0; 007import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationshieldv2025r0.EnterpriseConfigurationShieldV2025R0; 008import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationusersettingsv2025r0.EnterpriseConfigurationUserSettingsV2025R0; 009import com.box.sdkgen.serialization.json.EnumWrapper; 010import com.fasterxml.jackson.annotation.JsonFilter; 011import com.fasterxml.jackson.annotation.JsonProperty; 012import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 013import com.fasterxml.jackson.databind.annotation.JsonSerialize; 014import java.util.Objects; 015 016/** The enterprise configuration for a given enterprise. */ 017@JsonFilter("nullablePropertyFilter") 018public class EnterpriseConfigurationV2025R0 extends SerializableObject { 019 020 /** The identifier of the enterprise configuration which is the ID of the enterprise. */ 021 protected String id; 022 023 /** The value will always be `enterprise_configuration`. */ 024 @JsonDeserialize( 025 using = 026 EnterpriseConfigurationV2025R0TypeField 027 .EnterpriseConfigurationV2025R0TypeFieldDeserializer.class) 028 @JsonSerialize( 029 using = 030 EnterpriseConfigurationV2025R0TypeField.EnterpriseConfigurationV2025R0TypeFieldSerializer 031 .class) 032 protected EnumWrapper<EnterpriseConfigurationV2025R0TypeField> type; 033 034 protected EnterpriseConfigurationSecurityV2025R0 security; 035 036 @JsonProperty("content_and_sharing") 037 protected EnterpriseConfigurationContentAndSharingV2025R0 contentAndSharing; 038 039 @JsonProperty("user_settings") 040 protected EnterpriseConfigurationUserSettingsV2025R0 userSettings; 041 042 protected EnterpriseConfigurationShieldV2025R0 shield; 043 044 public EnterpriseConfigurationV2025R0() { 045 super(); 046 } 047 048 protected EnterpriseConfigurationV2025R0(Builder builder) { 049 super(); 050 this.id = builder.id; 051 this.type = builder.type; 052 this.security = builder.security; 053 this.contentAndSharing = builder.contentAndSharing; 054 this.userSettings = builder.userSettings; 055 this.shield = builder.shield; 056 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 057 } 058 059 public String getId() { 060 return id; 061 } 062 063 public EnumWrapper<EnterpriseConfigurationV2025R0TypeField> getType() { 064 return type; 065 } 066 067 public EnterpriseConfigurationSecurityV2025R0 getSecurity() { 068 return security; 069 } 070 071 public EnterpriseConfigurationContentAndSharingV2025R0 getContentAndSharing() { 072 return contentAndSharing; 073 } 074 075 public EnterpriseConfigurationUserSettingsV2025R0 getUserSettings() { 076 return userSettings; 077 } 078 079 public EnterpriseConfigurationShieldV2025R0 getShield() { 080 return shield; 081 } 082 083 @Override 084 public boolean equals(Object o) { 085 if (this == o) { 086 return true; 087 } 088 if (o == null || getClass() != o.getClass()) { 089 return false; 090 } 091 EnterpriseConfigurationV2025R0 casted = (EnterpriseConfigurationV2025R0) o; 092 return Objects.equals(id, casted.id) 093 && Objects.equals(type, casted.type) 094 && Objects.equals(security, casted.security) 095 && Objects.equals(contentAndSharing, casted.contentAndSharing) 096 && Objects.equals(userSettings, casted.userSettings) 097 && Objects.equals(shield, casted.shield); 098 } 099 100 @Override 101 public int hashCode() { 102 return Objects.hash(id, type, security, contentAndSharing, userSettings, shield); 103 } 104 105 @Override 106 public String toString() { 107 return "EnterpriseConfigurationV2025R0{" 108 + "id='" 109 + id 110 + '\'' 111 + ", " 112 + "type='" 113 + type 114 + '\'' 115 + ", " 116 + "security='" 117 + security 118 + '\'' 119 + ", " 120 + "contentAndSharing='" 121 + contentAndSharing 122 + '\'' 123 + ", " 124 + "userSettings='" 125 + userSettings 126 + '\'' 127 + ", " 128 + "shield='" 129 + shield 130 + '\'' 131 + "}"; 132 } 133 134 public static class Builder extends NullableFieldTracker { 135 136 protected String id; 137 138 protected EnumWrapper<EnterpriseConfigurationV2025R0TypeField> type; 139 140 protected EnterpriseConfigurationSecurityV2025R0 security; 141 142 protected EnterpriseConfigurationContentAndSharingV2025R0 contentAndSharing; 143 144 protected EnterpriseConfigurationUserSettingsV2025R0 userSettings; 145 146 protected EnterpriseConfigurationShieldV2025R0 shield; 147 148 public Builder id(String id) { 149 this.id = id; 150 return this; 151 } 152 153 public Builder type(EnterpriseConfigurationV2025R0TypeField type) { 154 this.type = new EnumWrapper<EnterpriseConfigurationV2025R0TypeField>(type); 155 return this; 156 } 157 158 public Builder type(EnumWrapper<EnterpriseConfigurationV2025R0TypeField> type) { 159 this.type = type; 160 return this; 161 } 162 163 public Builder security(EnterpriseConfigurationSecurityV2025R0 security) { 164 this.security = security; 165 return this; 166 } 167 168 public Builder contentAndSharing( 169 EnterpriseConfigurationContentAndSharingV2025R0 contentAndSharing) { 170 this.contentAndSharing = contentAndSharing; 171 return this; 172 } 173 174 public Builder userSettings(EnterpriseConfigurationUserSettingsV2025R0 userSettings) { 175 this.userSettings = userSettings; 176 return this; 177 } 178 179 public Builder shield(EnterpriseConfigurationShieldV2025R0 shield) { 180 this.shield = shield; 181 return this; 182 } 183 184 public EnterpriseConfigurationV2025R0 build() { 185 return new EnterpriseConfigurationV2025R0(this); 186 } 187 } 188}