001package com.box.sdkgen.schemas.signrequestsignerinputzipvalidation; 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.annotation.JsonProperty; 008import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 009import com.fasterxml.jackson.databind.annotation.JsonSerialize; 010import java.util.Objects; 011 012/** 013 * Specifies the validation rules for a text field input by the signer. If set, this validation is 014 * mandatory. 015 */ 016@JsonFilter("nullablePropertyFilter") 017public class SignRequestSignerInputZipValidation extends SerializableObject { 018 019 /** Validates that the text input is a ZIP code. */ 020 @JsonDeserialize( 021 using = 022 SignRequestSignerInputZipValidationValidationTypeField 023 .SignRequestSignerInputZipValidationValidationTypeFieldDeserializer.class) 024 @JsonSerialize( 025 using = 026 SignRequestSignerInputZipValidationValidationTypeField 027 .SignRequestSignerInputZipValidationValidationTypeFieldSerializer.class) 028 @JsonProperty("validation_type") 029 protected EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField> validationType; 030 031 public SignRequestSignerInputZipValidation() { 032 super(); 033 this.validationType = 034 new EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField>( 035 SignRequestSignerInputZipValidationValidationTypeField.ZIP); 036 } 037 038 protected SignRequestSignerInputZipValidation(Builder builder) { 039 super(); 040 this.validationType = builder.validationType; 041 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 042 } 043 044 public EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField> getValidationType() { 045 return validationType; 046 } 047 048 @Override 049 public boolean equals(Object o) { 050 if (this == o) { 051 return true; 052 } 053 if (o == null || getClass() != o.getClass()) { 054 return false; 055 } 056 SignRequestSignerInputZipValidation casted = (SignRequestSignerInputZipValidation) o; 057 return Objects.equals(validationType, casted.validationType); 058 } 059 060 @Override 061 public int hashCode() { 062 return Objects.hash(validationType); 063 } 064 065 @Override 066 public String toString() { 067 return "SignRequestSignerInputZipValidation{" 068 + "validationType='" 069 + validationType 070 + '\'' 071 + "}"; 072 } 073 074 public static class Builder extends NullableFieldTracker { 075 076 protected EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField> validationType; 077 078 public Builder() { 079 super(); 080 } 081 082 public Builder validationType( 083 SignRequestSignerInputZipValidationValidationTypeField validationType) { 084 this.validationType = 085 new EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField>(validationType); 086 return this; 087 } 088 089 public Builder validationType( 090 EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField> validationType) { 091 this.validationType = validationType; 092 return this; 093 } 094 095 public SignRequestSignerInputZipValidation build() { 096 if (this.validationType == null) { 097 this.validationType = 098 new EnumWrapper<SignRequestSignerInputZipValidationValidationTypeField>( 099 SignRequestSignerInputZipValidationValidationTypeField.ZIP); 100 } 101 return new SignRequestSignerInputZipValidation(this); 102 } 103 } 104}