001package com.box.sdkgen.managers.folders; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.serialization.json.EnumWrapper; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 008import com.fasterxml.jackson.databind.annotation.JsonSerialize; 009import java.util.Objects; 010 011@JsonFilter("nullablePropertyFilter") 012public class UpdateFolderByIdRequestBodyFolderUploadEmailField extends SerializableObject { 013 014 /** 015 * When this parameter has been set, users can email files to the email address that has been 016 * automatically created for this folder. 017 * 018 * <p>To create an email address, set this property either when creating or updating the folder. 019 * 020 * <p>When set to `collaborators`, only emails from registered email addresses for collaborators 021 * will be accepted. This includes any email aliases a user might have registered. 022 * 023 * <p>When set to `open` it will accept emails from any email address. 024 */ 025 @JsonDeserialize( 026 using = 027 UpdateFolderByIdRequestBodyFolderUploadEmailAccessField 028 .UpdateFolderByIdRequestBodyFolderUploadEmailAccessFieldDeserializer.class) 029 @JsonSerialize( 030 using = 031 UpdateFolderByIdRequestBodyFolderUploadEmailAccessField 032 .UpdateFolderByIdRequestBodyFolderUploadEmailAccessFieldSerializer.class) 033 protected EnumWrapper<UpdateFolderByIdRequestBodyFolderUploadEmailAccessField> access; 034 035 public UpdateFolderByIdRequestBodyFolderUploadEmailField() { 036 super(); 037 } 038 039 protected UpdateFolderByIdRequestBodyFolderUploadEmailField(Builder builder) { 040 super(); 041 this.access = builder.access; 042 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 043 } 044 045 public EnumWrapper<UpdateFolderByIdRequestBodyFolderUploadEmailAccessField> getAccess() { 046 return access; 047 } 048 049 @Override 050 public boolean equals(Object o) { 051 if (this == o) { 052 return true; 053 } 054 if (o == null || getClass() != o.getClass()) { 055 return false; 056 } 057 UpdateFolderByIdRequestBodyFolderUploadEmailField casted = 058 (UpdateFolderByIdRequestBodyFolderUploadEmailField) o; 059 return Objects.equals(access, casted.access); 060 } 061 062 @Override 063 public int hashCode() { 064 return Objects.hash(access); 065 } 066 067 @Override 068 public String toString() { 069 return "UpdateFolderByIdRequestBodyFolderUploadEmailField{" + "access='" + access + '\'' + "}"; 070 } 071 072 public static class Builder extends NullableFieldTracker { 073 074 protected EnumWrapper<UpdateFolderByIdRequestBodyFolderUploadEmailAccessField> access; 075 076 public Builder access(UpdateFolderByIdRequestBodyFolderUploadEmailAccessField access) { 077 this.access = 078 new EnumWrapper<UpdateFolderByIdRequestBodyFolderUploadEmailAccessField>(access); 079 return this; 080 } 081 082 public Builder access( 083 EnumWrapper<UpdateFolderByIdRequestBodyFolderUploadEmailAccessField> access) { 084 this.access = access; 085 return this; 086 } 087 088 public UpdateFolderByIdRequestBodyFolderUploadEmailField build() { 089 return new UpdateFolderByIdRequestBodyFolderUploadEmailField(this); 090 } 091 } 092}