diff --git a/.codegen.json b/.codegen.json index 1cd34fc58..5cfe7ed0c 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "3d9d391", "specHash": "31c41d5", "version": "10.3.0" } +{ "engineHash": "f97463c", "specHash": "b7abe0d", "version": "10.3.0" } diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinput/SignRequestSignerInput.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinput/SignRequestSignerInput.java index 88910bc27..9af6c3971 100644 --- a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinput/SignRequestSignerInput.java +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinput/SignRequestSignerInput.java @@ -1,6 +1,18 @@ package com.box.sdkgen.schemas.signrequestsignerinput; import com.box.sdkgen.schemas.signrequestprefilltag.SignRequestPrefillTag; +import com.box.sdkgen.schemas.signrequestsignerinputcustomvalidation.SignRequestSignerInputCustomValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateasiavalidation.SignRequestSignerInputDateAsiaValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateeuvalidation.SignRequestSignerInputDateEuValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateisovalidation.SignRequestSignerInputDateIsoValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateusvalidation.SignRequestSignerInputDateUsValidation; +import com.box.sdkgen.schemas.signrequestsignerinputemailvalidation.SignRequestSignerInputEmailValidation; +import com.box.sdkgen.schemas.signrequestsignerinputnumberwithcommavalidation.SignRequestSignerInputNumberWithCommaValidation; +import com.box.sdkgen.schemas.signrequestsignerinputnumberwithperiodvalidation.SignRequestSignerInputNumberWithPeriodValidation; +import com.box.sdkgen.schemas.signrequestsignerinputssnvalidation.SignRequestSignerInputSsnValidation; +import com.box.sdkgen.schemas.signrequestsignerinputvalidation.SignRequestSignerInputValidation; +import com.box.sdkgen.schemas.signrequestsignerinputzip4validation.SignRequestSignerInputZip4Validation; +import com.box.sdkgen.schemas.signrequestsignerinputzipvalidation.SignRequestSignerInputZipValidation; import com.box.sdkgen.serialization.json.EnumWrapper; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -36,10 +48,16 @@ public class SignRequestSignerInput extends SignRequestPrefillTag { @JsonProperty("page_index") protected final long pageIndex; - /** Whether this input was defined as read-only(immutable by signers) or not. */ + /** Indicates whether this input is read-only (cannot be modified by signers). */ @JsonProperty("read_only") protected Boolean readOnly; + /** + * Specifies the formatting rules that signers must follow for text field inputs. If set, this + * validation is mandatory. + */ + protected SignRequestSignerInputValidation validation; + public SignRequestSignerInput(@JsonProperty("page_index") long pageIndex) { super(); this.pageIndex = pageIndex; @@ -51,6 +69,7 @@ protected SignRequestSignerInput(Builder builder) { this.contentType = builder.contentType; this.pageIndex = builder.pageIndex; this.readOnly = builder.readOnly; + this.validation = builder.validation; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -70,6 +89,10 @@ public Boolean getReadOnly() { return readOnly; } + public SignRequestSignerInputValidation getValidation() { + return validation; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -86,13 +109,22 @@ public boolean equals(Object o) { && Objects.equals(type, casted.type) && Objects.equals(contentType, casted.contentType) && Objects.equals(pageIndex, casted.pageIndex) - && Objects.equals(readOnly, casted.readOnly); + && Objects.equals(readOnly, casted.readOnly) + && Objects.equals(validation, casted.validation); } @Override public int hashCode() { return Objects.hash( - documentTagId, textValue, checkboxValue, dateValue, type, contentType, pageIndex, readOnly); + documentTagId, + textValue, + checkboxValue, + dateValue, + type, + contentType, + pageIndex, + readOnly, + validation); } @Override @@ -129,6 +161,10 @@ public String toString() { + "readOnly='" + readOnly + '\'' + + ", " + + "validation='" + + validation + + '\'' + "}"; } @@ -142,6 +178,8 @@ public static class Builder extends SignRequestPrefillTag.Builder { protected Boolean readOnly; + protected SignRequestSignerInputValidation validation; + public Builder(long pageIndex) { super(); this.pageIndex = pageIndex; @@ -172,6 +210,66 @@ public Builder readOnly(Boolean readOnly) { return this; } + public Builder validation(SignRequestSignerInputEmailValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputCustomValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputZipValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputZip4Validation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputSsnValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputNumberWithPeriodValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputNumberWithCommaValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateIsoValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateUsValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateEuValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateAsiaValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputValidation validation) { + this.validation = validation; + return this; + } + @Override public Builder documentTagId(String documentTagId) { this.documentTagId = documentTagId; diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidation.java new file mode 100644 index 000000000..031e6af69 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidation.java @@ -0,0 +1,152 @@ +package com.box.sdkgen.schemas.signrequestsignerinputcustomvalidation; + +import static com.box.sdkgen.internal.utils.UtilsManager.setOf; + +import com.box.sdkgen.internal.Nullable; +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the custom validation rules for a text field input by the signer. If set, this + * validation is mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputCustomValidation extends SerializableObject { + + /** + * Defines the validation format for the text input as custom. A custom regular expression is used + * for validation. + */ + @JsonDeserialize( + using = + SignRequestSignerInputCustomValidationValidationTypeField + .SignRequestSignerInputCustomValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputCustomValidationValidationTypeField + .SignRequestSignerInputCustomValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + /** Regular expression used for validation. */ + @JsonProperty("custom_regex") + @Nullable + protected final String customRegex; + + /** Error message shown if input fails custom regular expression validation. */ + @JsonProperty("custom_error_message") + @Nullable + protected final String customErrorMessage; + + public SignRequestSignerInputCustomValidation( + @JsonProperty("custom_regex") String customRegex, + @JsonProperty("custom_error_message") String customErrorMessage) { + super(); + this.customRegex = customRegex; + this.customErrorMessage = customErrorMessage; + this.validationType = + new EnumWrapper( + SignRequestSignerInputCustomValidationValidationTypeField.CUSTOM); + markNullableFieldsAsSet(setOf("custom_regex", "custom_error_message")); + } + + protected SignRequestSignerInputCustomValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + this.customRegex = builder.customRegex; + this.customErrorMessage = builder.customErrorMessage; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + public String getCustomRegex() { + return customRegex; + } + + public String getCustomErrorMessage() { + return customErrorMessage; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputCustomValidation casted = (SignRequestSignerInputCustomValidation) o; + return Objects.equals(validationType, casted.validationType) + && Objects.equals(customRegex, casted.customRegex) + && Objects.equals(customErrorMessage, casted.customErrorMessage); + } + + @Override + public int hashCode() { + return Objects.hash(validationType, customRegex, customErrorMessage); + } + + @Override + public String toString() { + return "SignRequestSignerInputCustomValidation{" + + "validationType='" + + validationType + + '\'' + + ", " + + "customRegex='" + + customRegex + + '\'' + + ", " + + "customErrorMessage='" + + customErrorMessage + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + protected final String customRegex; + + protected final String customErrorMessage; + + public Builder(String customRegex, String customErrorMessage) { + super(); + this.customRegex = customRegex; + this.customErrorMessage = customErrorMessage; + this.validationType = + new EnumWrapper( + SignRequestSignerInputCustomValidationValidationTypeField.CUSTOM); + markNullableFieldsAsSet(setOf("custom_regex", "custom_error_message")); + } + + public Builder validationType( + SignRequestSignerInputCustomValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputCustomValidation build() { + return new SignRequestSignerInputCustomValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidationValidationTypeField.java new file mode 100644 index 000000000..81d2c290b --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidationValidationTypeField.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.schemas.signrequestsignerinputcustomvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputCustomValidationValidationTypeField implements Valuable { + CUSTOM("custom"); + + private final String value; + + SignRequestSignerInputCustomValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputCustomValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputCustomValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputCustomValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputCustomValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputCustomValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidation.java new file mode 100644 index 000000000..efef8f489 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidation.java @@ -0,0 +1,95 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateasiavalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the date formatting rules used in Asia for a text field input by the signer. If set, + * this validation is mandatory. The date format follows `YYYY/MM/DD` pattern. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputDateAsiaValidation extends SerializableObject { + + /** Validates that the text input uses the Asian date format `YYYY/MM/DD`. */ + @JsonDeserialize( + using = + SignRequestSignerInputDateAsiaValidationValidationTypeField + .SignRequestSignerInputDateAsiaValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputDateAsiaValidationValidationTypeField + .SignRequestSignerInputDateAsiaValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputDateAsiaValidation() { + super(); + } + + protected SignRequestSignerInputDateAsiaValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputDateAsiaValidation casted = (SignRequestSignerInputDateAsiaValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputDateAsiaValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper + validationType; + + public Builder validationType( + SignRequestSignerInputDateAsiaValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputDateAsiaValidation build() { + return new SignRequestSignerInputDateAsiaValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidationValidationTypeField.java new file mode 100644 index 000000000..a6dd68a18 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidationValidationTypeField.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateasiavalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputDateAsiaValidationValidationTypeField implements Valuable { + DATE_ASIA("date_asia"); + + private final String value; + + SignRequestSignerInputDateAsiaValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputDateAsiaValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputDateAsiaValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputDateAsiaValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputDateAsiaValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputDateAsiaValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidation.java new file mode 100644 index 000000000..d0d802f89 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidation.java @@ -0,0 +1,94 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateeuvalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the date formatting rules used in Europe for a text field input by the signer. If set, + * this validation is mandatory. The date format follows `DD/MM/YYYY` pattern. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputDateEuValidation extends SerializableObject { + + /** Validates that the text input uses the European date format `DD/MM/YYYY`. */ + @JsonDeserialize( + using = + SignRequestSignerInputDateEuValidationValidationTypeField + .SignRequestSignerInputDateEuValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputDateEuValidationValidationTypeField + .SignRequestSignerInputDateEuValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputDateEuValidation() { + super(); + } + + protected SignRequestSignerInputDateEuValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputDateEuValidation casted = (SignRequestSignerInputDateEuValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputDateEuValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + public Builder validationType( + SignRequestSignerInputDateEuValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputDateEuValidation build() { + return new SignRequestSignerInputDateEuValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidationValidationTypeField.java new file mode 100644 index 000000000..9c2f7cefd --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidationValidationTypeField.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateeuvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputDateEuValidationValidationTypeField implements Valuable { + DATE_EU("date_eu"); + + private final String value; + + SignRequestSignerInputDateEuValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputDateEuValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputDateEuValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputDateEuValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputDateEuValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputDateEuValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidation.java new file mode 100644 index 000000000..a25bc636f --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidation.java @@ -0,0 +1,95 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateisovalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the ISO date formatting rules for a text field input by the signer. If set, this + * validation is mandatory. The date format follows `YYYY-MM-DD` pattern. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputDateIsoValidation extends SerializableObject { + + /** Validates that the text input uses the ISO date format `YYYY-MM-DD`. */ + @JsonDeserialize( + using = + SignRequestSignerInputDateIsoValidationValidationTypeField + .SignRequestSignerInputDateIsoValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputDateIsoValidationValidationTypeField + .SignRequestSignerInputDateIsoValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputDateIsoValidation() { + super(); + } + + protected SignRequestSignerInputDateIsoValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputDateIsoValidation casted = (SignRequestSignerInputDateIsoValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputDateIsoValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper + validationType; + + public Builder validationType( + SignRequestSignerInputDateIsoValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputDateIsoValidation build() { + return new SignRequestSignerInputDateIsoValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidationValidationTypeField.java new file mode 100644 index 000000000..6415ff565 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidationValidationTypeField.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateisovalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputDateIsoValidationValidationTypeField implements Valuable { + DATE_ISO("date_iso"); + + private final String value; + + SignRequestSignerInputDateIsoValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputDateIsoValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputDateIsoValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputDateIsoValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputDateIsoValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputDateIsoValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidation.java new file mode 100644 index 000000000..6deef0992 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidation.java @@ -0,0 +1,94 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateusvalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the US date formatting rules for a text field input by the signer. If set, this + * validation is mandatory. The date format follows `MM/DD/YYYY` pattern. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputDateUsValidation extends SerializableObject { + + /** Validates that the text input uses the US date format `MM/DD/YYYY`. */ + @JsonDeserialize( + using = + SignRequestSignerInputDateUsValidationValidationTypeField + .SignRequestSignerInputDateUsValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputDateUsValidationValidationTypeField + .SignRequestSignerInputDateUsValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputDateUsValidation() { + super(); + } + + protected SignRequestSignerInputDateUsValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputDateUsValidation casted = (SignRequestSignerInputDateUsValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputDateUsValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + public Builder validationType( + SignRequestSignerInputDateUsValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputDateUsValidation build() { + return new SignRequestSignerInputDateUsValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidationValidationTypeField.java new file mode 100644 index 000000000..528b4ca77 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidationValidationTypeField.java @@ -0,0 +1,65 @@ +package com.box.sdkgen.schemas.signrequestsignerinputdateusvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputDateUsValidationValidationTypeField implements Valuable { + DATE_US("date_us"); + + private final String value; + + SignRequestSignerInputDateUsValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputDateUsValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputDateUsValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputDateUsValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputDateUsValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputDateUsValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidation.java new file mode 100644 index 000000000..f4f16f51e --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidation.java @@ -0,0 +1,102 @@ +package com.box.sdkgen.schemas.signrequestsignerinputemailvalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the formatting rules that signers must follow for text field inputs. If set, this + * validation is mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputEmailValidation extends SerializableObject { + + /** Validates that the text input is an email address. */ + @JsonDeserialize( + using = + SignRequestSignerInputEmailValidationValidationTypeField + .SignRequestSignerInputEmailValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputEmailValidationValidationTypeField + .SignRequestSignerInputEmailValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputEmailValidation() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputEmailValidationValidationTypeField.EMAIL); + } + + protected SignRequestSignerInputEmailValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputEmailValidation casted = (SignRequestSignerInputEmailValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputEmailValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + public Builder() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputEmailValidationValidationTypeField.EMAIL); + } + + public Builder validationType( + SignRequestSignerInputEmailValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper(validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputEmailValidation build() { + return new SignRequestSignerInputEmailValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidationValidationTypeField.java new file mode 100644 index 000000000..c2ca1b18e --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidationValidationTypeField.java @@ -0,0 +1,64 @@ +package com.box.sdkgen.schemas.signrequestsignerinputemailvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputEmailValidationValidationTypeField implements Valuable { + EMAIL("email"); + + private final String value; + + SignRequestSignerInputEmailValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputEmailValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputEmailValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputEmailValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputEmailValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputEmailValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidation.java new file mode 100644 index 000000000..5b7474b78 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidation.java @@ -0,0 +1,101 @@ +package com.box.sdkgen.schemas.signrequestsignerinputnumberwithcommavalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the number with comma formatting rules for a text field input by the signer. If set, + * this validation is mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputNumberWithCommaValidation extends SerializableObject { + + /** + * Validates that the text input uses a number format with a comma as the decimal separator (for + * example, 1,23). + */ + @JsonDeserialize( + using = + SignRequestSignerInputNumberWithCommaValidationValidationTypeField + .SignRequestSignerInputNumberWithCommaValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputNumberWithCommaValidationValidationTypeField + .SignRequestSignerInputNumberWithCommaValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper + validationType; + + public SignRequestSignerInputNumberWithCommaValidation() { + super(); + } + + protected SignRequestSignerInputNumberWithCommaValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputNumberWithCommaValidation casted = + (SignRequestSignerInputNumberWithCommaValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputNumberWithCommaValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper + validationType; + + public Builder validationType( + SignRequestSignerInputNumberWithCommaValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper + validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputNumberWithCommaValidation build() { + return new SignRequestSignerInputNumberWithCommaValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidationValidationTypeField.java new file mode 100644 index 000000000..682d5028d --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidationValidationTypeField.java @@ -0,0 +1,67 @@ +package com.box.sdkgen.schemas.signrequestsignerinputnumberwithcommavalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputNumberWithCommaValidationValidationTypeField implements Valuable { + NUMBER_WITH_COMMA("number_with_comma"); + + private final String value; + + SignRequestSignerInputNumberWithCommaValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputNumberWithCommaValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputNumberWithCommaValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper + deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream( + SignRequestSignerInputNumberWithCommaValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper( + value)); + } + } + + public static class SignRequestSignerInputNumberWithCommaValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputNumberWithCommaValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidation.java new file mode 100644 index 000000000..4fd228626 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidation.java @@ -0,0 +1,102 @@ +package com.box.sdkgen.schemas.signrequestsignerinputnumberwithperiodvalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the number with period formatting rules for a text field input by the signer. If set, + * this validation is mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputNumberWithPeriodValidation extends SerializableObject { + + /** + * Validates that the text input uses a number format with a period as the decimal separator (for + * example, 1.23). + */ + @JsonDeserialize( + using = + SignRequestSignerInputNumberWithPeriodValidationValidationTypeField + .SignRequestSignerInputNumberWithPeriodValidationValidationTypeFieldDeserializer + .class) + @JsonSerialize( + using = + SignRequestSignerInputNumberWithPeriodValidationValidationTypeField + .SignRequestSignerInputNumberWithPeriodValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper + validationType; + + public SignRequestSignerInputNumberWithPeriodValidation() { + super(); + } + + protected SignRequestSignerInputNumberWithPeriodValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper + getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputNumberWithPeriodValidation casted = + (SignRequestSignerInputNumberWithPeriodValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputNumberWithPeriodValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper + validationType; + + public Builder validationType( + SignRequestSignerInputNumberWithPeriodValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper( + validationType); + return this; + } + + public Builder validationType( + EnumWrapper + validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputNumberWithPeriodValidation build() { + return new SignRequestSignerInputNumberWithPeriodValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidationValidationTypeField.java new file mode 100644 index 000000000..6e9d358e3 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidationValidationTypeField.java @@ -0,0 +1,69 @@ +package com.box.sdkgen.schemas.signrequestsignerinputnumberwithperiodvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputNumberWithPeriodValidationValidationTypeField + implements Valuable { + NUMBER_WITH_PERIOD("number_with_period"); + + private final String value; + + SignRequestSignerInputNumberWithPeriodValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static + class SignRequestSignerInputNumberWithPeriodValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputNumberWithPeriodValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper + deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream( + SignRequestSignerInputNumberWithPeriodValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse( + new EnumWrapper( + value)); + } + } + + public static class SignRequestSignerInputNumberWithPeriodValidationValidationTypeFieldSerializer + extends JsonSerializer< + EnumWrapper> { + + public SignRequestSignerInputNumberWithPeriodValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidation.java new file mode 100644 index 000000000..b5a94bd7e --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidation.java @@ -0,0 +1,102 @@ +package com.box.sdkgen.schemas.signrequestsignerinputssnvalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the validation rules for a text field input by the signer. If set, this validation is + * mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputSsnValidation extends SerializableObject { + + /** Validates that the text input is a Social Security Number (SSN). */ + @JsonDeserialize( + using = + SignRequestSignerInputSsnValidationValidationTypeField + .SignRequestSignerInputSsnValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputSsnValidationValidationTypeField + .SignRequestSignerInputSsnValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputSsnValidation() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputSsnValidationValidationTypeField.SSN); + } + + protected SignRequestSignerInputSsnValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputSsnValidation casted = (SignRequestSignerInputSsnValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputSsnValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + public Builder() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputSsnValidationValidationTypeField.SSN); + } + + public Builder validationType( + SignRequestSignerInputSsnValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper(validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputSsnValidation build() { + return new SignRequestSignerInputSsnValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidationValidationTypeField.java new file mode 100644 index 000000000..b27d71d42 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidationValidationTypeField.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.signrequestsignerinputssnvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputSsnValidationValidationTypeField implements Valuable { + SSN("ssn"); + + private final String value; + + SignRequestSignerInputSsnValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputSsnValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputSsnValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputSsnValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputSsnValidationValidationTypeFieldSerializer + extends JsonSerializer> { + + public SignRequestSignerInputSsnValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputvalidation/SignRequestSignerInputValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputvalidation/SignRequestSignerInputValidation.java new file mode 100644 index 000000000..5468866ab --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputvalidation/SignRequestSignerInputValidation.java @@ -0,0 +1,421 @@ +package com.box.sdkgen.schemas.signrequestsignerinputvalidation; + +import com.box.sdkgen.internal.OneOfundefined; +import com.box.sdkgen.schemas.signrequestsignerinputcustomvalidation.SignRequestSignerInputCustomValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateasiavalidation.SignRequestSignerInputDateAsiaValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateeuvalidation.SignRequestSignerInputDateEuValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateisovalidation.SignRequestSignerInputDateIsoValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateusvalidation.SignRequestSignerInputDateUsValidation; +import com.box.sdkgen.schemas.signrequestsignerinputemailvalidation.SignRequestSignerInputEmailValidation; +import com.box.sdkgen.schemas.signrequestsignerinputnumberwithcommavalidation.SignRequestSignerInputNumberWithCommaValidation; +import com.box.sdkgen.schemas.signrequestsignerinputnumberwithperiodvalidation.SignRequestSignerInputNumberWithPeriodValidation; +import com.box.sdkgen.schemas.signrequestsignerinputssnvalidation.SignRequestSignerInputSsnValidation; +import com.box.sdkgen.schemas.signrequestsignerinputzip4validation.SignRequestSignerInputZip4Validation; +import com.box.sdkgen.schemas.signrequestsignerinputzipvalidation.SignRequestSignerInputZipValidation; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.JsonManager; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.io.IOException; + +@JsonDeserialize( + using = SignRequestSignerInputValidation.SignRequestSignerInputValidationDeserializer.class) +@JsonSerialize(using = OneOfundefined.OneOfundefinedSerializer.class) +public class SignRequestSignerInputValidation + extends OneOfundefined< + SignRequestSignerInputEmailValidation, + SignRequestSignerInputCustomValidation, + SignRequestSignerInputZipValidation, + SignRequestSignerInputZip4Validation, + SignRequestSignerInputSsnValidation, + SignRequestSignerInputNumberWithPeriodValidation, + SignRequestSignerInputNumberWithCommaValidation, + SignRequestSignerInputDateIsoValidation, + SignRequestSignerInputDateUsValidation, + SignRequestSignerInputDateEuValidation, + SignRequestSignerInputDateAsiaValidation> { + + protected final String validationType; + + public SignRequestSignerInputValidation( + SignRequestSignerInputEmailValidation signRequestSignerInputEmailValidation) { + super( + signRequestSignerInputEmailValidation, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputEmailValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputCustomValidation signRequestSignerInputCustomValidation) { + super( + null, + signRequestSignerInputCustomValidation, + null, + null, + null, + null, + null, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputCustomValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputZipValidation signRequestSignerInputZipValidation) { + super( + null, + null, + signRequestSignerInputZipValidation, + null, + null, + null, + null, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputZipValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputZip4Validation signRequestSignerInputZip4Validation) { + super( + null, + null, + null, + signRequestSignerInputZip4Validation, + null, + null, + null, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputZip4Validation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputSsnValidation signRequestSignerInputSsnValidation) { + super( + null, + null, + null, + null, + signRequestSignerInputSsnValidation, + null, + null, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputSsnValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputNumberWithPeriodValidation + signRequestSignerInputNumberWithPeriodValidation) { + super( + null, + null, + null, + null, + null, + signRequestSignerInputNumberWithPeriodValidation, + null, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString( + signRequestSignerInputNumberWithPeriodValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputNumberWithCommaValidation + signRequestSignerInputNumberWithCommaValidation) { + super( + null, + null, + null, + null, + null, + null, + signRequestSignerInputNumberWithCommaValidation, + null, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString( + signRequestSignerInputNumberWithCommaValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputDateIsoValidation signRequestSignerInputDateIsoValidation) { + super( + null, + null, + null, + null, + null, + null, + null, + signRequestSignerInputDateIsoValidation, + null, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputDateIsoValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputDateUsValidation signRequestSignerInputDateUsValidation) { + super( + null, + null, + null, + null, + null, + null, + null, + null, + signRequestSignerInputDateUsValidation, + null, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputDateUsValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputDateEuValidation signRequestSignerInputDateEuValidation) { + super( + null, + null, + null, + null, + null, + null, + null, + null, + null, + signRequestSignerInputDateEuValidation, + null); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputDateEuValidation.getValidationType()); + } + + public SignRequestSignerInputValidation( + SignRequestSignerInputDateAsiaValidation signRequestSignerInputDateAsiaValidation) { + super( + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + signRequestSignerInputDateAsiaValidation); + this.validationType = + EnumWrapper.convertToString(signRequestSignerInputDateAsiaValidation.getValidationType()); + } + + public boolean isSignRequestSignerInputEmailValidation() { + return value0 != null; + } + + public SignRequestSignerInputEmailValidation getSignRequestSignerInputEmailValidation() { + return value0; + } + + public boolean isSignRequestSignerInputCustomValidation() { + return value1 != null; + } + + public SignRequestSignerInputCustomValidation getSignRequestSignerInputCustomValidation() { + return value1; + } + + public boolean isSignRequestSignerInputZipValidation() { + return value2 != null; + } + + public SignRequestSignerInputZipValidation getSignRequestSignerInputZipValidation() { + return value2; + } + + public boolean isSignRequestSignerInputZip4Validation() { + return value3 != null; + } + + public SignRequestSignerInputZip4Validation getSignRequestSignerInputZip4Validation() { + return value3; + } + + public boolean isSignRequestSignerInputSsnValidation() { + return value4 != null; + } + + public SignRequestSignerInputSsnValidation getSignRequestSignerInputSsnValidation() { + return value4; + } + + public boolean isSignRequestSignerInputNumberWithPeriodValidation() { + return value5 != null; + } + + public SignRequestSignerInputNumberWithPeriodValidation + getSignRequestSignerInputNumberWithPeriodValidation() { + return value5; + } + + public boolean isSignRequestSignerInputNumberWithCommaValidation() { + return value6 != null; + } + + public SignRequestSignerInputNumberWithCommaValidation + getSignRequestSignerInputNumberWithCommaValidation() { + return value6; + } + + public boolean isSignRequestSignerInputDateIsoValidation() { + return value7 != null; + } + + public SignRequestSignerInputDateIsoValidation getSignRequestSignerInputDateIsoValidation() { + return value7; + } + + public boolean isSignRequestSignerInputDateUsValidation() { + return value8 != null; + } + + public SignRequestSignerInputDateUsValidation getSignRequestSignerInputDateUsValidation() { + return value8; + } + + public boolean isSignRequestSignerInputDateEuValidation() { + return value9 != null; + } + + public SignRequestSignerInputDateEuValidation getSignRequestSignerInputDateEuValidation() { + return value9; + } + + public boolean isSignRequestSignerInputDateAsiaValidation() { + return value10 != null; + } + + public SignRequestSignerInputDateAsiaValidation getSignRequestSignerInputDateAsiaValidation() { + return value10; + } + + public String getValidationType() { + return validationType; + } + + static class SignRequestSignerInputValidationDeserializer + extends JsonDeserializer { + + public SignRequestSignerInputValidationDeserializer() { + super(); + } + + @Override + public SignRequestSignerInputValidation deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException { + JsonNode node = JsonManager.jsonToSerializedData(jp); + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputEmailValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputCustomValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputZipValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputZip4Validation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputSsnValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputNumberWithPeriodValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputNumberWithCommaValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputDateIsoValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputDateUsValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputDateEuValidation.class)); + } catch (Exception ignored) { + } + try { + return new SignRequestSignerInputValidation( + OneOfundefined.OBJECT_MAPPER.convertValue( + node, SignRequestSignerInputDateAsiaValidation.class)); + } catch (Exception ignored) { + } + throw new JsonMappingException(jp, "Unable to deserialize SignRequestSignerInputValidation"); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4Validation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4Validation.java new file mode 100644 index 000000000..2c9964bf2 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4Validation.java @@ -0,0 +1,102 @@ +package com.box.sdkgen.schemas.signrequestsignerinputzip4validation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the validation rules for a text field input by the signer. If set, this validation is + * mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputZip4Validation extends SerializableObject { + + /** Validates that the text input is a ZIP+4 code. */ + @JsonDeserialize( + using = + SignRequestSignerInputZip4ValidationValidationTypeField + .SignRequestSignerInputZip4ValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputZip4ValidationValidationTypeField + .SignRequestSignerInputZip4ValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputZip4Validation() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputZip4ValidationValidationTypeField.ZIP_4); + } + + protected SignRequestSignerInputZip4Validation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputZip4Validation casted = (SignRequestSignerInputZip4Validation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputZip4Validation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + public Builder() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputZip4ValidationValidationTypeField.ZIP_4); + } + + public Builder validationType( + SignRequestSignerInputZip4ValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper(validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputZip4Validation build() { + return new SignRequestSignerInputZip4Validation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4ValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4ValidationValidationTypeField.java new file mode 100644 index 000000000..010aa0bc4 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4ValidationValidationTypeField.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.signrequestsignerinputzip4validation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputZip4ValidationValidationTypeField implements Valuable { + ZIP_4("zip_4"); + + private final String value; + + SignRequestSignerInputZip4ValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputZip4ValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputZip4ValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputZip4ValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputZip4ValidationValidationTypeFieldSerializer + extends JsonSerializer> { + + public SignRequestSignerInputZip4ValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidation.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidation.java new file mode 100644 index 000000000..c805d142a --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidation.java @@ -0,0 +1,102 @@ +package com.box.sdkgen.schemas.signrequestsignerinputzipvalidation; + +import com.box.sdkgen.internal.NullableFieldTracker; +import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Objects; + +/** + * Specifies the validation rules for a text field input by the signer. If set, this validation is + * mandatory. + */ +@JsonFilter("nullablePropertyFilter") +public class SignRequestSignerInputZipValidation extends SerializableObject { + + /** Validates that the text input is a ZIP code. */ + @JsonDeserialize( + using = + SignRequestSignerInputZipValidationValidationTypeField + .SignRequestSignerInputZipValidationValidationTypeFieldDeserializer.class) + @JsonSerialize( + using = + SignRequestSignerInputZipValidationValidationTypeField + .SignRequestSignerInputZipValidationValidationTypeFieldSerializer.class) + @JsonProperty("validation_type") + protected EnumWrapper validationType; + + public SignRequestSignerInputZipValidation() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputZipValidationValidationTypeField.ZIP); + } + + protected SignRequestSignerInputZipValidation(Builder builder) { + super(); + this.validationType = builder.validationType; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + + public EnumWrapper getValidationType() { + return validationType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SignRequestSignerInputZipValidation casted = (SignRequestSignerInputZipValidation) o; + return Objects.equals(validationType, casted.validationType); + } + + @Override + public int hashCode() { + return Objects.hash(validationType); + } + + @Override + public String toString() { + return "SignRequestSignerInputZipValidation{" + + "validationType='" + + validationType + + '\'' + + "}"; + } + + public static class Builder extends NullableFieldTracker { + + protected EnumWrapper validationType; + + public Builder() { + super(); + this.validationType = + new EnumWrapper( + SignRequestSignerInputZipValidationValidationTypeField.ZIP); + } + + public Builder validationType( + SignRequestSignerInputZipValidationValidationTypeField validationType) { + this.validationType = + new EnumWrapper(validationType); + return this; + } + + public Builder validationType( + EnumWrapper validationType) { + this.validationType = validationType; + return this; + } + + public SignRequestSignerInputZipValidation build() { + return new SignRequestSignerInputZipValidation(this); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidationValidationTypeField.java b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidationValidationTypeField.java new file mode 100644 index 000000000..84b134ff5 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidationValidationTypeField.java @@ -0,0 +1,63 @@ +package com.box.sdkgen.schemas.signrequestsignerinputzipvalidation; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; +import java.util.Arrays; + +public enum SignRequestSignerInputZipValidationValidationTypeField implements Valuable { + ZIP("zip"); + + private final String value; + + SignRequestSignerInputZipValidationValidationTypeField(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static class SignRequestSignerInputZipValidationValidationTypeFieldDeserializer + extends JsonDeserializer< + EnumWrapper> { + + public SignRequestSignerInputZipValidationValidationTypeFieldDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(SignRequestSignerInputZipValidationValidationTypeField.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class SignRequestSignerInputZipValidationValidationTypeFieldSerializer + extends JsonSerializer> { + + public SignRequestSignerInputZipValidationValidationTypeFieldSerializer() { + super(); + } + + @Override + public void serialize( + EnumWrapper value, + JsonGenerator gen, + SerializerProvider serializers) + throws IOException { + gen.writeString(value.getStringValue()); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/templatesignerinput/TemplateSignerInput.java b/src/main/java/com/box/sdkgen/schemas/templatesignerinput/TemplateSignerInput.java index 62278af09..0728765e2 100644 --- a/src/main/java/com/box/sdkgen/schemas/templatesignerinput/TemplateSignerInput.java +++ b/src/main/java/com/box/sdkgen/schemas/templatesignerinput/TemplateSignerInput.java @@ -2,6 +2,18 @@ import com.box.sdkgen.internal.Nullable; import com.box.sdkgen.schemas.signrequestprefilltag.SignRequestPrefillTag; +import com.box.sdkgen.schemas.signrequestsignerinputcustomvalidation.SignRequestSignerInputCustomValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateasiavalidation.SignRequestSignerInputDateAsiaValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateeuvalidation.SignRequestSignerInputDateEuValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateisovalidation.SignRequestSignerInputDateIsoValidation; +import com.box.sdkgen.schemas.signrequestsignerinputdateusvalidation.SignRequestSignerInputDateUsValidation; +import com.box.sdkgen.schemas.signrequestsignerinputemailvalidation.SignRequestSignerInputEmailValidation; +import com.box.sdkgen.schemas.signrequestsignerinputnumberwithcommavalidation.SignRequestSignerInputNumberWithCommaValidation; +import com.box.sdkgen.schemas.signrequestsignerinputnumberwithperiodvalidation.SignRequestSignerInputNumberWithPeriodValidation; +import com.box.sdkgen.schemas.signrequestsignerinputssnvalidation.SignRequestSignerInputSsnValidation; +import com.box.sdkgen.schemas.signrequestsignerinputvalidation.SignRequestSignerInputValidation; +import com.box.sdkgen.schemas.signrequestsignerinputzip4validation.SignRequestSignerInputZip4Validation; +import com.box.sdkgen.schemas.signrequestsignerinputzipvalidation.SignRequestSignerInputZipValidation; import com.box.sdkgen.serialization.json.EnumWrapper; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -66,10 +78,16 @@ public class TemplateSignerInput extends SignRequestPrefillTag { /** The label field is used especially for text, attachment, radio, and checkbox type inputs. */ @Nullable protected String label; - /** Whether this input was defined as read-only(immutable by signers) or not. */ + /** Indicates whether this input is read-only (cannot be modified by signers). */ @JsonProperty("read_only") protected Boolean readOnly; + /** + * Specifies the formatting rules that signers must follow for text field inputs. If set, this + * validation is mandatory. + */ + protected SignRequestSignerInputValidation validation; + public TemplateSignerInput(@JsonProperty("page_index") long pageIndex) { super(); this.pageIndex = pageIndex; @@ -88,6 +106,7 @@ protected TemplateSignerInput(Builder builder) { this.dimensions = builder.dimensions; this.label = builder.label; this.readOnly = builder.readOnly; + this.validation = builder.validation; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -135,6 +154,10 @@ public Boolean getReadOnly() { return readOnly; } + public SignRequestSignerInputValidation getValidation() { + return validation; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -158,7 +181,8 @@ public boolean equals(Object o) { && Objects.equals(coordinates, casted.coordinates) && Objects.equals(dimensions, casted.dimensions) && Objects.equals(label, casted.label) - && Objects.equals(readOnly, casted.readOnly); + && Objects.equals(readOnly, casted.readOnly) + && Objects.equals(validation, casted.validation); } @Override @@ -178,7 +202,8 @@ public int hashCode() { coordinates, dimensions, label, - readOnly); + readOnly, + validation); } @Override @@ -243,6 +268,10 @@ public String toString() { + "readOnly='" + readOnly + '\'' + + ", " + + "validation='" + + validation + + '\'' + "}"; } @@ -270,6 +299,8 @@ public static class Builder extends SignRequestPrefillTag.Builder { protected Boolean readOnly; + protected SignRequestSignerInputValidation validation; + public Builder(long pageIndex) { super(); this.pageIndex = pageIndex; @@ -339,6 +370,66 @@ public Builder readOnly(Boolean readOnly) { return this; } + public Builder validation(SignRequestSignerInputEmailValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputCustomValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputZipValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputZip4Validation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputSsnValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputNumberWithPeriodValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputNumberWithCommaValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateIsoValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateUsValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateEuValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputDateAsiaValidation validation) { + this.validation = new SignRequestSignerInputValidation(validation); + return this; + } + + public Builder validation(SignRequestSignerInputValidation validation) { + this.validation = validation; + return this; + } + @Override public Builder documentTagId(String documentTagId) { this.documentTagId = documentTagId;