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