From 945de6e6ea4a6507bdebb454c164090d403bcf25 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 22 Apr 2026 00:50:10 -0700 Subject: [PATCH] feat: add max_extension_length attribute (box/box-openapi#593) --- .codegen.json | 2 +- docs/ai.md | 2 +- docs/users.md | 2 +- .../CreateRetentionPolicyRequestBody.java | 39 ++++++++ .../UpdateRetentionPolicyByIdRequestBody.java | 39 ++++++++ .../users/DeleteUserByIdQueryParams.java | 5 +- .../sdkgen/managers/users/UsersManager.java | 24 ++--- .../AiExtractStructured.java | 54 +++++------ .../AiExtractStructuredFieldsField.java | 8 +- ...AiExtractStructuredFieldsOptionsField.java | 2 +- .../retentionpolicy/RetentionPolicy.java | 28 ++++++ ...entionPolicyMaxExtensionLengthRequest.java | 90 +++++++++++++++++++ ...onPolicyMaxExtensionLengthRequestEnum.java | 64 +++++++++++++ ...ntionPolicyMaxExtensionLengthResponse.java | 74 +++++++++++++++ ...nPolicyMaxExtensionLengthResponseEnum.java | 64 +++++++++++++ .../RetentionPolicyMini.java | 39 +++++++- src/test/java/com/box/sdkgen/ai/AiITest.java | 2 +- 17 files changed, 484 insertions(+), 54 deletions(-) create mode 100644 src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequest.java create mode 100644 src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequestEnum.java create mode 100644 src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponse.java create mode 100644 src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponseEnum.java diff --git a/.codegen.json b/.codegen.json index 62a438ffc..eaec0b0c6 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "450fb53", "specHash": "f8e0d99", "version": "10.8.0" } +{ "engineHash": "450fb53", "specHash": "d0976fc", "version": "10.8.0" } diff --git a/docs/ai.md b/docs/ai.md index 157ed87c8..c223381d2 100644 --- a/docs/ai.md +++ b/docs/ai.md @@ -149,7 +149,7 @@ See the endpoint docs at ``` -client.getAi().createAiExtractStructured(new AiExtractStructured.Builder(Arrays.asList(new AiItemBase(file.getId()))).fields(Arrays.asList(new AiExtractStructuredFieldsField.Builder("firstName").description("Person first name").displayName("First name").prompt("What is the your first name?").type("string").build(), new AiExtractStructuredFieldsField.Builder("lastName").description("Person last name").displayName("Last name").prompt("What is the your last name?").type("string").build(), new AiExtractStructuredFieldsField.Builder("dateOfBirth").description("Person date of birth").displayName("Birth date").prompt("What is the date of your birth?").type("date").build(), new AiExtractStructuredFieldsField.Builder("age").description("Person age").displayName("Age").prompt("How old are you?").type("float").build(), new AiExtractStructuredFieldsField.Builder("hobby").description("Person hobby").displayName("Hobby").prompt("What is your hobby?").type("multiSelect").options(Arrays.asList(new AiExtractStructuredFieldsOptionsField("guitar"), new AiExtractStructuredFieldsOptionsField("books"))).build())).includeConfidenceScore(true).aiAgent(aiExtractStructuredAgentBasicTextConfig).build()) +client.getAi().createAiExtractStructured(new AiExtractStructured.Builder(Arrays.asList(new AiItemBase(file.getId()))).fields(Arrays.asList(new AiExtractStructuredFieldsField.Builder("firstName").description("Person first name").displayName("First name").prompt("What is the your first name?").type("string").build(), new AiExtractStructuredFieldsField.Builder("lastName").description("Person last name").displayName("Last name").prompt("What is the your last name?").type("string").build(), new AiExtractStructuredFieldsField.Builder("dateOfBirth").description("Person date of birth").displayName("Birth date").prompt("What is the date of your birth?").type("date").build(), new AiExtractStructuredFieldsField.Builder("age").description("Person age").displayName("Age").prompt("How old are you?").type("float").build(), new AiExtractStructuredFieldsField.Builder("hobby").description("Person hobby").displayName("Hobby").prompt("What is your hobby?").type("multiSelect").options(Arrays.asList(new AiExtractStructuredFieldsOptionsField("guitar"), new AiExtractStructuredFieldsOptionsField("books"))).build())).aiAgent(aiExtractStructuredAgentBasicTextConfig).includeConfidenceScore(true).build()) ``` ### Arguments diff --git a/docs/users.md b/docs/users.md index efc2df4cd..3eb493ae0 100644 --- a/docs/users.md +++ b/docs/users.md @@ -197,7 +197,7 @@ Returns the updated user object. ## Delete user Deletes a user. By default, this operation fails if the user -still owns any content, was recently active, or recently joined the enterprise from a free account. +still owns any content. To proceed, move their owned content first, or use the `force` parameter to delete the user and their files. diff --git a/src/main/java/com/box/sdkgen/managers/retentionpolicies/CreateRetentionPolicyRequestBody.java b/src/main/java/com/box/sdkgen/managers/retentionpolicies/CreateRetentionPolicyRequestBody.java index 6c7faecbb..77ffee6f0 100644 --- a/src/main/java/com/box/sdkgen/managers/retentionpolicies/CreateRetentionPolicyRequestBody.java +++ b/src/main/java/com/box/sdkgen/managers/retentionpolicies/CreateRetentionPolicyRequestBody.java @@ -2,6 +2,8 @@ import com.box.sdkgen.internal.NullableFieldTracker; import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest.RetentionPolicyMaxExtensionLengthRequest; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest.RetentionPolicyMaxExtensionLengthRequestEnum; import com.box.sdkgen.schemas.usermini.UserMini; import com.box.sdkgen.serialization.json.EnumWrapper; import com.fasterxml.jackson.annotation.JsonFilter; @@ -89,6 +91,9 @@ public class CreateRetentionPolicyRequestBody extends SerializableObject { @JsonProperty("can_owner_extend_retention") protected Boolean canOwnerExtendRetention; + @JsonProperty("max_extension_length") + protected RetentionPolicyMaxExtensionLengthRequest maxExtensionLength; + /** Whether owner and co-owners of a file are notified when the policy nears expiration. */ @JsonProperty("are_owners_notified") protected Boolean areOwnersNotified; @@ -150,6 +155,7 @@ protected CreateRetentionPolicyRequestBody(Builder builder) { this.retentionLength = builder.retentionLength; this.retentionType = builder.retentionType; this.canOwnerExtendRetention = builder.canOwnerExtendRetention; + this.maxExtensionLength = builder.maxExtensionLength; this.areOwnersNotified = builder.areOwnersNotified; this.customNotificationRecipients = builder.customNotificationRecipients; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); @@ -184,6 +190,10 @@ public Boolean getCanOwnerExtendRetention() { return canOwnerExtendRetention; } + public RetentionPolicyMaxExtensionLengthRequest getMaxExtensionLength() { + return maxExtensionLength; + } + public Boolean getAreOwnersNotified() { return areOwnersNotified; } @@ -208,6 +218,7 @@ public boolean equals(Object o) { && Objects.equals(retentionLength, casted.retentionLength) && Objects.equals(retentionType, casted.retentionType) && Objects.equals(canOwnerExtendRetention, casted.canOwnerExtendRetention) + && Objects.equals(maxExtensionLength, casted.maxExtensionLength) && Objects.equals(areOwnersNotified, casted.areOwnersNotified) && Objects.equals(customNotificationRecipients, casted.customNotificationRecipients); } @@ -222,6 +233,7 @@ public int hashCode() { retentionLength, retentionType, canOwnerExtendRetention, + maxExtensionLength, areOwnersNotified, customNotificationRecipients); } @@ -257,6 +269,10 @@ public String toString() { + canOwnerExtendRetention + '\'' + ", " + + "maxExtensionLength='" + + maxExtensionLength + + '\'' + + ", " + "areOwnersNotified='" + areOwnersNotified + '\'' @@ -284,6 +300,8 @@ public static class Builder extends NullableFieldTracker { protected Boolean canOwnerExtendRetention; + protected RetentionPolicyMaxExtensionLengthRequest maxExtensionLength; + protected Boolean areOwnersNotified; protected List customNotificationRecipients; @@ -374,6 +392,27 @@ public Builder canOwnerExtendRetention(Boolean canOwnerExtendRetention) { return this; } + public Builder maxExtensionLength( + RetentionPolicyMaxExtensionLengthRequestEnum maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthRequest(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(String maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthRequest(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(int maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthRequest(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(RetentionPolicyMaxExtensionLengthRequest maxExtensionLength) { + this.maxExtensionLength = maxExtensionLength; + return this; + } + public Builder areOwnersNotified(Boolean areOwnersNotified) { this.areOwnersNotified = areOwnersNotified; return this; diff --git a/src/main/java/com/box/sdkgen/managers/retentionpolicies/UpdateRetentionPolicyByIdRequestBody.java b/src/main/java/com/box/sdkgen/managers/retentionpolicies/UpdateRetentionPolicyByIdRequestBody.java index c0905b146..9fdfc7cde 100644 --- a/src/main/java/com/box/sdkgen/managers/retentionpolicies/UpdateRetentionPolicyByIdRequestBody.java +++ b/src/main/java/com/box/sdkgen/managers/retentionpolicies/UpdateRetentionPolicyByIdRequestBody.java @@ -3,6 +3,8 @@ import com.box.sdkgen.internal.Nullable; import com.box.sdkgen.internal.NullableFieldTracker; import com.box.sdkgen.internal.SerializableObject; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest.RetentionPolicyMaxExtensionLengthRequest; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest.RetentionPolicyMaxExtensionLengthRequestEnum; import com.box.sdkgen.schemas.userbase.UserBase; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -71,6 +73,9 @@ public class UpdateRetentionPolicyByIdRequestBody extends SerializableObject { @Nullable protected Boolean canOwnerExtendRetention; + @JsonProperty("max_extension_length") + protected RetentionPolicyMaxExtensionLengthRequest maxExtensionLength; + /** * Determines if owners and co-owners of items under the policy are notified when the retention * duration is about to end. @@ -97,6 +102,7 @@ protected UpdateRetentionPolicyByIdRequestBody(Builder builder) { this.retentionLength = builder.retentionLength; this.status = builder.status; this.canOwnerExtendRetention = builder.canOwnerExtendRetention; + this.maxExtensionLength = builder.maxExtensionLength; this.areOwnersNotified = builder.areOwnersNotified; this.customNotificationRecipients = builder.customNotificationRecipients; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); @@ -130,6 +136,10 @@ public Boolean getCanOwnerExtendRetention() { return canOwnerExtendRetention; } + public RetentionPolicyMaxExtensionLengthRequest getMaxExtensionLength() { + return maxExtensionLength; + } + public Boolean getAreOwnersNotified() { return areOwnersNotified; } @@ -154,6 +164,7 @@ public boolean equals(Object o) { && Objects.equals(retentionLength, casted.retentionLength) && Objects.equals(status, casted.status) && Objects.equals(canOwnerExtendRetention, casted.canOwnerExtendRetention) + && Objects.equals(maxExtensionLength, casted.maxExtensionLength) && Objects.equals(areOwnersNotified, casted.areOwnersNotified) && Objects.equals(customNotificationRecipients, casted.customNotificationRecipients); } @@ -168,6 +179,7 @@ public int hashCode() { retentionLength, status, canOwnerExtendRetention, + maxExtensionLength, areOwnersNotified, customNotificationRecipients); } @@ -203,6 +215,10 @@ public String toString() { + canOwnerExtendRetention + '\'' + ", " + + "maxExtensionLength='" + + maxExtensionLength + + '\'' + + ", " + "areOwnersNotified='" + areOwnersNotified + '\'' @@ -229,6 +245,8 @@ public static class Builder extends NullableFieldTracker { protected Boolean canOwnerExtendRetention; + protected RetentionPolicyMaxExtensionLengthRequest maxExtensionLength; + protected Boolean areOwnersNotified; protected List customNotificationRecipients; @@ -286,6 +304,27 @@ public Builder canOwnerExtendRetention(Boolean canOwnerExtendRetention) { return this; } + public Builder maxExtensionLength( + RetentionPolicyMaxExtensionLengthRequestEnum maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthRequest(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(String maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthRequest(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(int maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthRequest(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(RetentionPolicyMaxExtensionLengthRequest maxExtensionLength) { + this.maxExtensionLength = maxExtensionLength; + return this; + } + public Builder areOwnersNotified(Boolean areOwnersNotified) { this.areOwnersNotified = areOwnersNotified; this.markNullableFieldAsSet("are_owners_notified"); diff --git a/src/main/java/com/box/sdkgen/managers/users/DeleteUserByIdQueryParams.java b/src/main/java/com/box/sdkgen/managers/users/DeleteUserByIdQueryParams.java index 995af75ed..28d250932 100644 --- a/src/main/java/com/box/sdkgen/managers/users/DeleteUserByIdQueryParams.java +++ b/src/main/java/com/box/sdkgen/managers/users/DeleteUserByIdQueryParams.java @@ -5,10 +5,7 @@ public class DeleteUserByIdQueryParams { /** Whether the user will receive email notification of the deletion. */ public Boolean notify; - /** - * Specifies whether to delete the user even if they still own files, were recently active, or - * recently joined the enterprise from a free account. - */ + /** Specifies whether to delete the user even if they still own files. */ public Boolean force; public DeleteUserByIdQueryParams() {} diff --git a/src/main/java/com/box/sdkgen/managers/users/UsersManager.java b/src/main/java/com/box/sdkgen/managers/users/UsersManager.java index 0063c7c48..92cc5f078 100644 --- a/src/main/java/com/box/sdkgen/managers/users/UsersManager.java +++ b/src/main/java/com/box/sdkgen/managers/users/UsersManager.java @@ -477,9 +477,9 @@ public UserFull updateUserById( } /** - * Deletes a user. By default, this operation fails if the user still owns any content, was - * recently active, or recently joined the enterprise from a free account. To proceed, move their - * owned content first, or use the `force` parameter to delete the user and their files. + * Deletes a user. By default, this operation fails if the user still owns any content. To + * proceed, move their owned content first, or use the `force` parameter to delete the user and + * their files. * * @param userId The ID of the user. Example: "12345" */ @@ -488,9 +488,9 @@ public void deleteUserById(String userId) { } /** - * Deletes a user. By default, this operation fails if the user still owns any content, was - * recently active, or recently joined the enterprise from a free account. To proceed, move their - * owned content first, or use the `force` parameter to delete the user and their files. + * Deletes a user. By default, this operation fails if the user still owns any content. To + * proceed, move their owned content first, or use the `force` parameter to delete the user and + * their files. * * @param userId The ID of the user. Example: "12345" * @param queryParams Query parameters of deleteUserById method @@ -500,9 +500,9 @@ public void deleteUserById(String userId, DeleteUserByIdQueryParams queryParams) } /** - * Deletes a user. By default, this operation fails if the user still owns any content, was - * recently active, or recently joined the enterprise from a free account. To proceed, move their - * owned content first, or use the `force` parameter to delete the user and their files. + * Deletes a user. By default, this operation fails if the user still owns any content. To + * proceed, move their owned content first, or use the `force` parameter to delete the user and + * their files. * * @param userId The ID of the user. Example: "12345" * @param headers Headers of deleteUserById method @@ -512,9 +512,9 @@ public void deleteUserById(String userId, DeleteUserByIdHeaders headers) { } /** - * Deletes a user. By default, this operation fails if the user still owns any content, was - * recently active, or recently joined the enterprise from a free account. To proceed, move their - * owned content first, or use the `force` parameter to delete the user and their files. + * Deletes a user. By default, this operation fails if the user still owns any content. To + * proceed, move their owned content first, or use the `force` parameter to delete the user and + * their files. * * @param userId The ID of the user. Example: "12345" * @param queryParams Query parameters of deleteUserById method diff --git a/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructured.java b/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructured.java index 551bd54f3..e35cca1e3 100644 --- a/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructured.java +++ b/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructured.java @@ -31,6 +31,9 @@ public class AiExtractStructured extends SerializableObject { */ protected List fields; + @JsonProperty("ai_agent") + protected AiExtractStructuredAgent aiAgent; + /** A flag to indicate whether confidence scores for every extracted field should be returned. */ @JsonProperty("include_confidence_score") protected Boolean includeConfidenceScore; @@ -39,9 +42,6 @@ public class AiExtractStructured extends SerializableObject { @JsonProperty("include_reference") protected Boolean includeReference; - @JsonProperty("ai_agent") - protected AiExtractStructuredAgent aiAgent; - public AiExtractStructured(@JsonProperty("items") List items) { super(); this.items = items; @@ -52,9 +52,9 @@ protected AiExtractStructured(Builder builder) { this.items = builder.items; this.metadataTemplate = builder.metadataTemplate; this.fields = builder.fields; + this.aiAgent = builder.aiAgent; this.includeConfidenceScore = builder.includeConfidenceScore; this.includeReference = builder.includeReference; - this.aiAgent = builder.aiAgent; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -70,6 +70,10 @@ public List getFields() { return fields; } + public AiExtractStructuredAgent getAiAgent() { + return aiAgent; + } + public Boolean getIncludeConfidenceScore() { return includeConfidenceScore; } @@ -78,10 +82,6 @@ public Boolean getIncludeReference() { return includeReference; } - public AiExtractStructuredAgent getAiAgent() { - return aiAgent; - } - @Override public boolean equals(Object o) { if (this == o) { @@ -94,15 +94,15 @@ public boolean equals(Object o) { return Objects.equals(items, casted.items) && Objects.equals(metadataTemplate, casted.metadataTemplate) && Objects.equals(fields, casted.fields) + && Objects.equals(aiAgent, casted.aiAgent) && Objects.equals(includeConfidenceScore, casted.includeConfidenceScore) - && Objects.equals(includeReference, casted.includeReference) - && Objects.equals(aiAgent, casted.aiAgent); + && Objects.equals(includeReference, casted.includeReference); } @Override public int hashCode() { return Objects.hash( - items, metadataTemplate, fields, includeConfidenceScore, includeReference, aiAgent); + items, metadataTemplate, fields, aiAgent, includeConfidenceScore, includeReference); } @Override @@ -120,6 +120,10 @@ public String toString() { + fields + '\'' + ", " + + "aiAgent='" + + aiAgent + + '\'' + + ", " + "includeConfidenceScore='" + includeConfidenceScore + '\'' @@ -127,10 +131,6 @@ public String toString() { + "includeReference='" + includeReference + '\'' - + ", " - + "aiAgent='" - + aiAgent - + '\'' + "}"; } @@ -142,12 +142,12 @@ public static class Builder extends NullableFieldTracker { protected List fields; + protected AiExtractStructuredAgent aiAgent; + protected Boolean includeConfidenceScore; protected Boolean includeReference; - protected AiExtractStructuredAgent aiAgent; - public Builder(List items) { super(); this.items = items; @@ -163,16 +163,6 @@ public Builder fields(List fields) { return this; } - public Builder includeConfidenceScore(Boolean includeConfidenceScore) { - this.includeConfidenceScore = includeConfidenceScore; - return this; - } - - public Builder includeReference(Boolean includeReference) { - this.includeReference = includeReference; - return this; - } - public Builder aiAgent(AiAgentReference aiAgent) { this.aiAgent = new AiExtractStructuredAgent(aiAgent); return this; @@ -188,6 +178,16 @@ public Builder aiAgent(AiExtractStructuredAgent aiAgent) { return this; } + public Builder includeConfidenceScore(Boolean includeConfidenceScore) { + this.includeConfidenceScore = includeConfidenceScore; + return this; + } + + public Builder includeReference(Boolean includeReference) { + this.includeReference = includeReference; + return this; + } + public AiExtractStructured build() { return new AiExtractStructured(this); } diff --git a/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsField.java b/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsField.java index a86c8a89f..df17da757 100644 --- a/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsField.java +++ b/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsField.java @@ -23,14 +23,14 @@ public class AiExtractStructuredFieldsField extends SerializableObject { protected String prompt; /** - * The type of the field. It include but is not limited to string, float, date, enum, and - * multiSelect. + * The type of the field. It can include but is not limited to `string`, `float`, `date`, `enum`, + * and `multiSelect`. */ protected String type; /** - * A list of options for this field. This is most often used in combination with the enum and - * multiSelect field types. + * A list of options for this field. This is most often used in combination with the `enum` and + * `multiSelect` field types. */ protected List options; diff --git a/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsOptionsField.java b/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsOptionsField.java index fd905a451..6e36d93c7 100644 --- a/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsOptionsField.java +++ b/src/main/java/com/box/sdkgen/schemas/aiextractstructured/AiExtractStructuredFieldsOptionsField.java @@ -8,7 +8,7 @@ @JsonFilter("nullablePropertyFilter") public class AiExtractStructuredFieldsOptionsField extends SerializableObject { - /** A unique identifier for the field. */ + /** A unique identifier for the option. */ protected final String key; public AiExtractStructuredFieldsOptionsField(@JsonProperty("key") String key) { diff --git a/src/main/java/com/box/sdkgen/schemas/retentionpolicy/RetentionPolicy.java b/src/main/java/com/box/sdkgen/schemas/retentionpolicy/RetentionPolicy.java index 6de5ef326..6e7d01837 100644 --- a/src/main/java/com/box/sdkgen/schemas/retentionpolicy/RetentionPolicy.java +++ b/src/main/java/com/box/sdkgen/schemas/retentionpolicy/RetentionPolicy.java @@ -2,6 +2,8 @@ import com.box.sdkgen.internal.utils.DateTimeUtils; import com.box.sdkgen.schemas.retentionpolicybase.RetentionPolicyBaseTypeField; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse.RetentionPolicyMaxExtensionLengthResponse; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse.RetentionPolicyMaxExtensionLengthResponseEnum; import com.box.sdkgen.schemas.retentionpolicymini.RetentionPolicyMini; import com.box.sdkgen.schemas.retentionpolicymini.RetentionPolicyMiniDispositionActionField; import com.box.sdkgen.schemas.usermini.UserMini; @@ -181,6 +183,7 @@ public boolean equals(Object o) { && Objects.equals(policyName, casted.policyName) && Objects.equals(retentionLength, casted.retentionLength) && Objects.equals(dispositionAction, casted.dispositionAction) + && Objects.equals(maxExtensionLength, casted.maxExtensionLength) && Objects.equals(description, casted.description) && Objects.equals(policyType, casted.policyType) && Objects.equals(retentionType, casted.retentionType) @@ -202,6 +205,7 @@ public int hashCode() { policyName, retentionLength, dispositionAction, + maxExtensionLength, description, policyType, retentionType, @@ -238,6 +242,10 @@ public String toString() { + dispositionAction + '\'' + ", " + + "maxExtensionLength='" + + maxExtensionLength + + '\'' + + ", " + "description='" + description + '\'' @@ -420,6 +428,26 @@ public Builder dispositionAction( return this; } + @Override + public Builder maxExtensionLength( + RetentionPolicyMaxExtensionLengthResponseEnum maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthResponse(maxExtensionLength); + return this; + } + + @Override + public Builder maxExtensionLength(String maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthResponse(maxExtensionLength); + return this; + } + + @Override + public Builder maxExtensionLength( + RetentionPolicyMaxExtensionLengthResponse maxExtensionLength) { + this.maxExtensionLength = maxExtensionLength; + return this; + } + public RetentionPolicy build() { if (this.type == null) { this.type = diff --git a/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequest.java b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequest.java new file mode 100644 index 000000000..96302ab95 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequest.java @@ -0,0 +1,90 @@ +package com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest; + +import com.box.sdkgen.internal.OneOfThree; +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 = + RetentionPolicyMaxExtensionLengthRequest + .RetentionPolicyMaxExtensionLengthRequestDeserializer.class) +@JsonSerialize(using = OneOfThree.OneOfThreeSerializer.class) +public class RetentionPolicyMaxExtensionLengthRequest + extends OneOfThree { + + public RetentionPolicyMaxExtensionLengthRequest( + RetentionPolicyMaxExtensionLengthRequestEnum retentionPolicyMaxExtensionLengthRequestEnum) { + super(retentionPolicyMaxExtensionLengthRequestEnum, null, null); + } + + public RetentionPolicyMaxExtensionLengthRequest(String string) { + super(null, string, null); + } + + public RetentionPolicyMaxExtensionLengthRequest(Integer integerNumber) { + super(null, null, integerNumber); + } + + public boolean isRetentionPolicyMaxExtensionLengthRequestEnum() { + return value0 != null; + } + + public RetentionPolicyMaxExtensionLengthRequestEnum + getRetentionPolicyMaxExtensionLengthRequestEnum() { + return value0; + } + + public boolean isString() { + return value1 != null; + } + + public String getString() { + return value1; + } + + public boolean isIntegerNumber() { + return value2 != null; + } + + public Integer getIntegerNumber() { + return value2; + } + + static class RetentionPolicyMaxExtensionLengthRequestDeserializer + extends JsonDeserializer { + + public RetentionPolicyMaxExtensionLengthRequestDeserializer() { + super(); + } + + @Override + public RetentionPolicyMaxExtensionLengthRequest deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException { + JsonNode node = JsonManager.jsonToSerializedData(jp); + if (node.isInt()) { + return new RetentionPolicyMaxExtensionLengthRequest( + OneOfThree.OBJECT_MAPPER.convertValue(node, Integer.class)); + } + try { + return new RetentionPolicyMaxExtensionLengthRequest( + OneOfThree.OBJECT_MAPPER.convertValue( + node, RetentionPolicyMaxExtensionLengthRequestEnum.class)); + } catch (Exception ignored) { + } + try { + return new RetentionPolicyMaxExtensionLengthRequest( + OneOfThree.OBJECT_MAPPER.convertValue(node, String.class)); + } catch (Exception ignored) { + } + throw new JsonMappingException( + jp, "Unable to deserialize RetentionPolicyMaxExtensionLengthRequest"); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequestEnum.java b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequestEnum.java new file mode 100644 index 000000000..9c731160b --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthrequest/RetentionPolicyMaxExtensionLengthRequestEnum.java @@ -0,0 +1,64 @@ +package com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.annotation.JsonValue; +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 RetentionPolicyMaxExtensionLengthRequestEnum implements Valuable { + NONE("none"); + + private final String value; + + RetentionPolicyMaxExtensionLengthRequestEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + public static class RetentionPolicyMaxExtensionLengthRequestEnumDeserializer + extends JsonDeserializer> { + + public RetentionPolicyMaxExtensionLengthRequestEnumDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(RetentionPolicyMaxExtensionLengthRequestEnum.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class RetentionPolicyMaxExtensionLengthRequestEnumSerializer + extends JsonSerializer> { + + public RetentionPolicyMaxExtensionLengthRequestEnumSerializer() { + 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/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponse.java b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponse.java new file mode 100644 index 000000000..62bd477d9 --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponse.java @@ -0,0 +1,74 @@ +package com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse; + +import com.box.sdkgen.internal.OneOfTwo; +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 = + RetentionPolicyMaxExtensionLengthResponse + .RetentionPolicyMaxExtensionLengthResponseDeserializer.class) +@JsonSerialize(using = OneOfTwo.OneOfTwoSerializer.class) +public class RetentionPolicyMaxExtensionLengthResponse + extends OneOfTwo { + + public RetentionPolicyMaxExtensionLengthResponse( + RetentionPolicyMaxExtensionLengthResponseEnum retentionPolicyMaxExtensionLengthResponseEnum) { + super(retentionPolicyMaxExtensionLengthResponseEnum, null); + } + + public RetentionPolicyMaxExtensionLengthResponse(String string) { + super(null, string); + } + + public boolean isRetentionPolicyMaxExtensionLengthResponseEnum() { + return value0 != null; + } + + public RetentionPolicyMaxExtensionLengthResponseEnum + getRetentionPolicyMaxExtensionLengthResponseEnum() { + return value0; + } + + public boolean isString() { + return value1 != null; + } + + public String getString() { + return value1; + } + + static class RetentionPolicyMaxExtensionLengthResponseDeserializer + extends JsonDeserializer { + + public RetentionPolicyMaxExtensionLengthResponseDeserializer() { + super(); + } + + @Override + public RetentionPolicyMaxExtensionLengthResponse deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException { + JsonNode node = JsonManager.jsonToSerializedData(jp); + try { + return new RetentionPolicyMaxExtensionLengthResponse( + OneOfTwo.OBJECT_MAPPER.convertValue( + node, RetentionPolicyMaxExtensionLengthResponseEnum.class)); + } catch (Exception ignored) { + } + try { + return new RetentionPolicyMaxExtensionLengthResponse( + OneOfTwo.OBJECT_MAPPER.convertValue(node, String.class)); + } catch (Exception ignored) { + } + throw new JsonMappingException( + jp, "Unable to deserialize RetentionPolicyMaxExtensionLengthResponse"); + } + } +} diff --git a/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponseEnum.java b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponseEnum.java new file mode 100644 index 000000000..708c20b8b --- /dev/null +++ b/src/main/java/com/box/sdkgen/schemas/retentionpolicymaxextensionlengthresponse/RetentionPolicyMaxExtensionLengthResponseEnum.java @@ -0,0 +1,64 @@ +package com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse; + +import com.box.sdkgen.serialization.json.EnumWrapper; +import com.box.sdkgen.serialization.json.Valuable; +import com.fasterxml.jackson.annotation.JsonValue; +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 RetentionPolicyMaxExtensionLengthResponseEnum implements Valuable { + NONE("none"); + + private final String value; + + RetentionPolicyMaxExtensionLengthResponseEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + public static class RetentionPolicyMaxExtensionLengthResponseEnumDeserializer + extends JsonDeserializer> { + + public RetentionPolicyMaxExtensionLengthResponseEnumDeserializer() { + super(); + } + + @Override + public EnumWrapper deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + String value = p.getValueAsString(); + return Arrays.stream(RetentionPolicyMaxExtensionLengthResponseEnum.values()) + .filter((v) -> v.getValue().equalsIgnoreCase(value)) + .findFirst() + .map(EnumWrapper::new) + .orElse(new EnumWrapper(value)); + } + } + + public static class RetentionPolicyMaxExtensionLengthResponseEnumSerializer + extends JsonSerializer> { + + public RetentionPolicyMaxExtensionLengthResponseEnumSerializer() { + 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/retentionpolicymini/RetentionPolicyMini.java b/src/main/java/com/box/sdkgen/schemas/retentionpolicymini/RetentionPolicyMini.java index f36d92eb0..01047a869 100644 --- a/src/main/java/com/box/sdkgen/schemas/retentionpolicymini/RetentionPolicyMini.java +++ b/src/main/java/com/box/sdkgen/schemas/retentionpolicymini/RetentionPolicyMini.java @@ -2,6 +2,8 @@ import com.box.sdkgen.schemas.retentionpolicybase.RetentionPolicyBase; import com.box.sdkgen.schemas.retentionpolicybase.RetentionPolicyBaseTypeField; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse.RetentionPolicyMaxExtensionLengthResponse; +import com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse.RetentionPolicyMaxExtensionLengthResponseEnum; import com.box.sdkgen.serialization.json.EnumWrapper; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -42,6 +44,9 @@ public class RetentionPolicyMini extends RetentionPolicyBase { @JsonProperty("disposition_action") protected EnumWrapper dispositionAction; + @JsonProperty("max_extension_length") + protected RetentionPolicyMaxExtensionLengthResponse maxExtensionLength; + public RetentionPolicyMini(@JsonProperty("id") String id) { super(id); } @@ -51,6 +56,7 @@ protected RetentionPolicyMini(Builder builder) { this.policyName = builder.policyName; this.retentionLength = builder.retentionLength; this.dispositionAction = builder.dispositionAction; + this.maxExtensionLength = builder.maxExtensionLength; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -66,6 +72,10 @@ public EnumWrapper getDispositionActi return dispositionAction; } + public RetentionPolicyMaxExtensionLengthResponse getMaxExtensionLength() { + return maxExtensionLength; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -79,12 +89,14 @@ public boolean equals(Object o) { && Objects.equals(type, casted.type) && Objects.equals(policyName, casted.policyName) && Objects.equals(retentionLength, casted.retentionLength) - && Objects.equals(dispositionAction, casted.dispositionAction); + && Objects.equals(dispositionAction, casted.dispositionAction) + && Objects.equals(maxExtensionLength, casted.maxExtensionLength); } @Override public int hashCode() { - return Objects.hash(id, type, policyName, retentionLength, dispositionAction); + return Objects.hash( + id, type, policyName, retentionLength, dispositionAction, maxExtensionLength); } @Override @@ -109,6 +121,10 @@ public String toString() { + "dispositionAction='" + dispositionAction + '\'' + + ", " + + "maxExtensionLength='" + + maxExtensionLength + + '\'' + "}"; } @@ -120,6 +136,8 @@ public static class Builder extends RetentionPolicyBase.Builder { protected EnumWrapper dispositionAction; + protected RetentionPolicyMaxExtensionLengthResponse maxExtensionLength; + public Builder(String id) { super(id); } @@ -146,6 +164,23 @@ public Builder dispositionAction( return this; } + public Builder maxExtensionLength( + RetentionPolicyMaxExtensionLengthResponseEnum maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthResponse(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength(String maxExtensionLength) { + this.maxExtensionLength = new RetentionPolicyMaxExtensionLengthResponse(maxExtensionLength); + return this; + } + + public Builder maxExtensionLength( + RetentionPolicyMaxExtensionLengthResponse maxExtensionLength) { + this.maxExtensionLength = maxExtensionLength; + return this; + } + @Override public Builder type(RetentionPolicyBaseTypeField type) { this.type = new EnumWrapper(type); diff --git a/src/test/java/com/box/sdkgen/ai/AiITest.java b/src/test/java/com/box/sdkgen/ai/AiITest.java index 892e21d9e..e45332ea2 100644 --- a/src/test/java/com/box/sdkgen/ai/AiITest.java +++ b/src/test/java/com/box/sdkgen/ai/AiITest.java @@ -308,8 +308,8 @@ public void testAiExtractStructuredWithFields() { new AiExtractStructuredFieldsOptionsField("guitar"), new AiExtractStructuredFieldsOptionsField("books"))) .build())) - .includeConfidenceScore(true) .aiAgent(aiExtractStructuredAgentBasicTextConfig) + .includeConfidenceScore(true) .build()); assert !(response.getConfidenceScore() == null); assert convertToString(response.getAnswer().get("hobby"))