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 CreateFolderRequestBodyFolderUploadEmailField 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 CreateFolderRequestBodyFolderUploadEmailAccessField 028 .CreateFolderRequestBodyFolderUploadEmailAccessFieldDeserializer.class) 029 @JsonSerialize( 030 using = 031 CreateFolderRequestBodyFolderUploadEmailAccessField 032 .CreateFolderRequestBodyFolderUploadEmailAccessFieldSerializer.class) 033 protected EnumWrapper<CreateFolderRequestBodyFolderUploadEmailAccessField> access; 034 035 public CreateFolderRequestBodyFolderUploadEmailField() { 036 super(); 037 } 038 039 protected CreateFolderRequestBodyFolderUploadEmailField(Builder builder) { 040 super(); 041 this.access = builder.access; 042 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 043 } 044 045 public EnumWrapper<CreateFolderRequestBodyFolderUploadEmailAccessField> 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 CreateFolderRequestBodyFolderUploadEmailField casted = 058 (CreateFolderRequestBodyFolderUploadEmailField) 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 "CreateFolderRequestBodyFolderUploadEmailField{" + "access='" + access + '\'' + "}"; 070 } 071 072 public static class Builder extends NullableFieldTracker { 073 074 protected EnumWrapper<CreateFolderRequestBodyFolderUploadEmailAccessField> access; 075 076 public Builder access(CreateFolderRequestBodyFolderUploadEmailAccessField access) { 077 this.access = new EnumWrapper<CreateFolderRequestBodyFolderUploadEmailAccessField>(access); 078 return this; 079 } 080 081 public Builder access(EnumWrapper<CreateFolderRequestBodyFolderUploadEmailAccessField> access) { 082 this.access = access; 083 return this; 084 } 085 086 public CreateFolderRequestBodyFolderUploadEmailField build() { 087 return new CreateFolderRequestBodyFolderUploadEmailField(this); 088 } 089 } 090}