From c273a251118d78dbbfd010669b910f098991a6e2 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 10 Dec 2025 07:10:59 -0800 Subject: [PATCH 1/4] chore: release version 10.3.0 --- .codegen.json | 2 +- CHANGELOG.md | 8 ++++++++ build.gradle | 2 +- .../java/com/box/sdkgen/networking/version/Version.java | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.codegen.json b/.codegen.json index 7b881e098..1cd34fc58 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "3d9d391", "specHash": "31c41d5", "version": "10.2.0" } +{ "engineHash": "3d9d391", "specHash": "31c41d5", "version": "10.3.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index c55fc991a..c0b729967 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [10.3.0](https://github.com/box/box-java-sdk/compare/v10.2.0...v10.3.0) (2025-12-10) + + +### New Features and Enhancements + +* Remove `confidence_score` and `include_confidence_score` from AI extract (box/box-openapi[#567](https://github.com/box/box-java-sdk/issues/567)) ([#1615](https://github.com/box/box-java-sdk/issues/1615)) ([0a069cd](https://github.com/box/box-java-sdk/commit/0a069cdecc4837d8bdb6f1e91401d88c58af5a92)) +* Support new sign request metadata (box/box-openapi[#565](https://github.com/box/box-java-sdk/issues/565)) ([#1599](https://github.com/box/box-java-sdk/issues/1599)) ([b3c46bb](https://github.com/box/box-java-sdk/commit/b3c46bbf2f2f7b9b25befcd6442a4e5c9a92e790)) + ## [10.2.0](https://github.com/box/box-java-sdk/compare/v10.1.0...v10.2.0) (2025-11-19) diff --git a/build.gradle b/build.gradle index 7f9726428..5a1a96c94 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ plugins { } group = "com.box" archivesBaseName = "box-java-sdk" -version = "10.2.0" +version = "10.3.0" java { sourceCompatibility = JavaVersion.toVersion(libraryJavaVersion) targetCompatibility = JavaVersion.toVersion(libraryJavaVersion) diff --git a/src/main/java/com/box/sdkgen/networking/version/Version.java b/src/main/java/com/box/sdkgen/networking/version/Version.java index 50d40ba49..c1ad6dd56 100644 --- a/src/main/java/com/box/sdkgen/networking/version/Version.java +++ b/src/main/java/com/box/sdkgen/networking/version/Version.java @@ -3,6 +3,6 @@ public class Version { public static String getVersion() { - return "10.2.0"; + return "10.3.0"; } } From 71e624c1fc54201fd91f30cb29c753f50f36568c Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 10 Dec 2025 07:19:05 -0800 Subject: [PATCH 2/4] chore: Update `.codegen.json` with commit hash of `codegen` and `openapi` spec [skip ci] --- .codegen.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codegen.json b/.codegen.json index 1cd34fc58..390881247 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "3d9d391", "specHash": "31c41d5", "version": "10.3.0" } +{ "engineHash": "88d7a7e", "specHash": "31c41d5", "version": "10.3.0" } From 9ab161bc178dda43ab535319ba8924b87ff676e8 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Thu, 11 Dec 2025 03:14:25 -0800 Subject: [PATCH 3/4] fix: fix RetryAfter function when there's no Retry-After header (box/box-codegen#903) --- .codegen.json | 2 +- .../com/box/sdkgen/networking/retries/BoxRetryStrategy.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.codegen.json b/.codegen.json index 390881247..a221a6da8 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "88d7a7e", "specHash": "31c41d5", "version": "10.3.0" } +{ "engineHash": "f97463c", "specHash": "31c41d5", "version": "10.3.0" } diff --git a/src/main/java/com/box/sdkgen/networking/retries/BoxRetryStrategy.java b/src/main/java/com/box/sdkgen/networking/retries/BoxRetryStrategy.java index dcba2d307..8ee947fe2 100644 --- a/src/main/java/com/box/sdkgen/networking/retries/BoxRetryStrategy.java +++ b/src/main/java/com/box/sdkgen/networking/retries/BoxRetryStrategy.java @@ -67,7 +67,10 @@ public boolean shouldRetry( @Override public double retryAfter( FetchOptions fetchOptions, FetchResponse fetchResponse, int attemptNumber) { - String retryAfterHeader = fetchResponse.getHeaders().get("Retry-After"); + String retryAfterHeader = + (fetchResponse.getHeaders().containsKey("Retry-After") + ? fetchResponse.getHeaders().get("Retry-After") + : null); if (!(retryAfterHeader == null)) { return Double.parseDouble(retryAfterHeader); } From ea8e42cf9e429dac87887326d590a483b45444f0 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Fri, 12 Dec 2025 03:49:35 -0800 Subject: [PATCH 4/4] feat: text input validation for Box Sign (box/box-openapi#568) --- .codegen.json | 2 +- .../SignRequestSignerInput.java | 104 ++++- ...ignRequestSignerInputCustomValidation.java | 152 +++++++ ...utCustomValidationValidationTypeField.java | 65 +++ ...nRequestSignerInputDateAsiaValidation.java | 95 ++++ ...DateAsiaValidationValidationTypeField.java | 65 +++ ...ignRequestSignerInputDateEuValidation.java | 94 ++++ ...utDateEuValidationValidationTypeField.java | 65 +++ ...gnRequestSignerInputDateIsoValidation.java | 95 ++++ ...tDateIsoValidationValidationTypeField.java | 65 +++ ...ignRequestSignerInputDateUsValidation.java | 94 ++++ ...utDateUsValidationValidationTypeField.java | 65 +++ ...SignRequestSignerInputEmailValidation.java | 102 +++++ ...putEmailValidationValidationTypeField.java | 64 +++ ...tSignerInputNumberWithCommaValidation.java | 101 +++++ ...ithCommaValidationValidationTypeField.java | 67 +++ ...SignerInputNumberWithPeriodValidation.java | 102 +++++ ...thPeriodValidationValidationTypeField.java | 69 +++ .../SignRequestSignerInputSsnValidation.java | 102 +++++ ...InputSsnValidationValidationTypeField.java | 63 +++ .../SignRequestSignerInputValidation.java | 421 ++++++++++++++++++ .../SignRequestSignerInputZip4Validation.java | 102 +++++ ...nputZip4ValidationValidationTypeField.java | 63 +++ .../SignRequestSignerInputZipValidation.java | 102 +++++ ...InputZipValidationValidationTypeField.java | 63 +++ .../TemplateSignerInput.java | 97 +++- 26 files changed, 2472 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputcustomvalidation/SignRequestSignerInputCustomValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateasiavalidation/SignRequestSignerInputDateAsiaValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateeuvalidation/SignRequestSignerInputDateEuValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateisovalidation/SignRequestSignerInputDateIsoValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputdateusvalidation/SignRequestSignerInputDateUsValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputemailvalidation/SignRequestSignerInputEmailValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithcommavalidation/SignRequestSignerInputNumberWithCommaValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputnumberwithperiodvalidation/SignRequestSignerInputNumberWithPeriodValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputssnvalidation/SignRequestSignerInputSsnValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputvalidation/SignRequestSignerInputValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4Validation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzip4validation/SignRequestSignerInputZip4ValidationValidationTypeField.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidation.java create mode 100644 src/main/java/com/box/sdkgen/schemas/signrequestsignerinputzipvalidation/SignRequestSignerInputZipValidationValidationTypeField.java diff --git a/.codegen.json b/.codegen.json index a221a6da8..5cfe7ed0c 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "f97463c", "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;