From 4378cf3c7759360701b17cfc4e653c240f959dc3 Mon Sep 17 00:00:00 2001 From: box-sdk-build Date: Wed, 21 Jan 2026 10:20:23 -0800 Subject: [PATCH] feat: Add watermarking permissions and sources information (box/box-openapi#579) --- .codegen.json | 2 +- .../filefull/FileFullPermissionsField.java | 103 +++++++++++++++++- .../filefull/FileFullWatermarkInfoField.java | 52 ++++++++- .../FolderFullPermissionsField.java | 78 ++++++++++++- .../FolderFullWatermarkInfoField.java | 52 ++++++++- 5 files changed, 276 insertions(+), 11 deletions(-) diff --git a/.codegen.json b/.codegen.json index 2863d0164..89af8ed93 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "3e11b6f", "specHash": "425a724", "version": "10.4.0" } +{ "engineHash": "3e11b6f", "specHash": "4beaa19", "version": "10.4.0" } diff --git a/src/main/java/com/box/sdkgen/schemas/filefull/FileFullPermissionsField.java b/src/main/java/com/box/sdkgen/schemas/filefull/FileFullPermissionsField.java index d8611a030..44774352a 100644 --- a/src/main/java/com/box/sdkgen/schemas/filefull/FileFullPermissionsField.java +++ b/src/main/java/com/box/sdkgen/schemas/filefull/FileFullPermissionsField.java @@ -1,5 +1,6 @@ package com.box.sdkgen.schemas.filefull; +import com.box.sdkgen.internal.NullableFieldTracker; import com.box.sdkgen.internal.SerializableObject; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -59,6 +60,10 @@ public class FileFullPermissionsField extends SerializableObject { @JsonProperty("can_view_annotations_self") protected final boolean canViewAnnotationsSelf; + /** Specifies if the user can apply a watermark to this file. */ + @JsonProperty("can_apply_watermark") + protected Boolean canApplyWatermark; + public FileFullPermissionsField( @JsonProperty("can_delete") boolean canDelete, @JsonProperty("can_download") boolean canDownload, @@ -87,6 +92,24 @@ public FileFullPermissionsField( this.canViewAnnotationsSelf = canViewAnnotationsSelf; } + protected FileFullPermissionsField(Builder builder) { + super(); + this.canDelete = builder.canDelete; + this.canDownload = builder.canDownload; + this.canInviteCollaborator = builder.canInviteCollaborator; + this.canRename = builder.canRename; + this.canSetShareAccess = builder.canSetShareAccess; + this.canShare = builder.canShare; + this.canAnnotate = builder.canAnnotate; + this.canComment = builder.canComment; + this.canPreview = builder.canPreview; + this.canUpload = builder.canUpload; + this.canViewAnnotationsAll = builder.canViewAnnotationsAll; + this.canViewAnnotationsSelf = builder.canViewAnnotationsSelf; + this.canApplyWatermark = builder.canApplyWatermark; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + public boolean getCanDelete() { return canDelete; } @@ -135,6 +158,10 @@ public boolean getCanViewAnnotationsSelf() { return canViewAnnotationsSelf; } + public Boolean getCanApplyWatermark() { + return canApplyWatermark; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -155,7 +182,8 @@ public boolean equals(Object o) { && Objects.equals(canPreview, casted.canPreview) && Objects.equals(canUpload, casted.canUpload) && Objects.equals(canViewAnnotationsAll, casted.canViewAnnotationsAll) - && Objects.equals(canViewAnnotationsSelf, casted.canViewAnnotationsSelf); + && Objects.equals(canViewAnnotationsSelf, casted.canViewAnnotationsSelf) + && Objects.equals(canApplyWatermark, casted.canApplyWatermark); } @Override @@ -172,7 +200,8 @@ public int hashCode() { canPreview, canUpload, canViewAnnotationsAll, - canViewAnnotationsSelf); + canViewAnnotationsSelf, + canApplyWatermark); } @Override @@ -225,6 +254,76 @@ public String toString() { + "canViewAnnotationsSelf='" + canViewAnnotationsSelf + '\'' + + ", " + + "canApplyWatermark='" + + canApplyWatermark + + '\'' + "}"; } + + public static class Builder extends NullableFieldTracker { + + protected final boolean canDelete; + + protected final boolean canDownload; + + protected final boolean canInviteCollaborator; + + protected final boolean canRename; + + protected final boolean canSetShareAccess; + + protected final boolean canShare; + + protected final boolean canAnnotate; + + protected final boolean canComment; + + protected final boolean canPreview; + + protected final boolean canUpload; + + protected final boolean canViewAnnotationsAll; + + protected final boolean canViewAnnotationsSelf; + + protected Boolean canApplyWatermark; + + public Builder( + boolean canDelete, + boolean canDownload, + boolean canInviteCollaborator, + boolean canRename, + boolean canSetShareAccess, + boolean canShare, + boolean canAnnotate, + boolean canComment, + boolean canPreview, + boolean canUpload, + boolean canViewAnnotationsAll, + boolean canViewAnnotationsSelf) { + super(); + this.canDelete = canDelete; + this.canDownload = canDownload; + this.canInviteCollaborator = canInviteCollaborator; + this.canRename = canRename; + this.canSetShareAccess = canSetShareAccess; + this.canShare = canShare; + this.canAnnotate = canAnnotate; + this.canComment = canComment; + this.canPreview = canPreview; + this.canUpload = canUpload; + this.canViewAnnotationsAll = canViewAnnotationsAll; + this.canViewAnnotationsSelf = canViewAnnotationsSelf; + } + + public Builder canApplyWatermark(Boolean canApplyWatermark) { + this.canApplyWatermark = canApplyWatermark; + return this; + } + + public FileFullPermissionsField build() { + return new FileFullPermissionsField(this); + } + } } diff --git a/src/main/java/com/box/sdkgen/schemas/filefull/FileFullWatermarkInfoField.java b/src/main/java/com/box/sdkgen/schemas/filefull/FileFullWatermarkInfoField.java index 13402d238..9945b8380 100644 --- a/src/main/java/com/box/sdkgen/schemas/filefull/FileFullWatermarkInfoField.java +++ b/src/main/java/com/box/sdkgen/schemas/filefull/FileFullWatermarkInfoField.java @@ -13,6 +13,14 @@ public class FileFullWatermarkInfoField extends SerializableObject { @JsonProperty("is_watermarked") protected Boolean isWatermarked; + /** Specifies if the watermark is inherited from any parent folder in the hierarchy. */ + @JsonProperty("is_watermark_inherited") + protected Boolean isWatermarkInherited; + + /** Specifies if the watermark is enforced by an access policy. */ + @JsonProperty("is_watermarked_by_access_policy") + protected Boolean isWatermarkedByAccessPolicy; + public FileFullWatermarkInfoField() { super(); } @@ -20,6 +28,8 @@ public FileFullWatermarkInfoField() { protected FileFullWatermarkInfoField(Builder builder) { super(); this.isWatermarked = builder.isWatermarked; + this.isWatermarkInherited = builder.isWatermarkInherited; + this.isWatermarkedByAccessPolicy = builder.isWatermarkedByAccessPolicy; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -27,6 +37,14 @@ public Boolean getIsWatermarked() { return isWatermarked; } + public Boolean getIsWatermarkInherited() { + return isWatermarkInherited; + } + + public Boolean getIsWatermarkedByAccessPolicy() { + return isWatermarkedByAccessPolicy; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -36,28 +54,56 @@ public boolean equals(Object o) { return false; } FileFullWatermarkInfoField casted = (FileFullWatermarkInfoField) o; - return Objects.equals(isWatermarked, casted.isWatermarked); + return Objects.equals(isWatermarked, casted.isWatermarked) + && Objects.equals(isWatermarkInherited, casted.isWatermarkInherited) + && Objects.equals(isWatermarkedByAccessPolicy, casted.isWatermarkedByAccessPolicy); } @Override public int hashCode() { - return Objects.hash(isWatermarked); + return Objects.hash(isWatermarked, isWatermarkInherited, isWatermarkedByAccessPolicy); } @Override public String toString() { - return "FileFullWatermarkInfoField{" + "isWatermarked='" + isWatermarked + '\'' + "}"; + return "FileFullWatermarkInfoField{" + + "isWatermarked='" + + isWatermarked + + '\'' + + ", " + + "isWatermarkInherited='" + + isWatermarkInherited + + '\'' + + ", " + + "isWatermarkedByAccessPolicy='" + + isWatermarkedByAccessPolicy + + '\'' + + "}"; } public static class Builder extends NullableFieldTracker { protected Boolean isWatermarked; + protected Boolean isWatermarkInherited; + + protected Boolean isWatermarkedByAccessPolicy; + public Builder isWatermarked(Boolean isWatermarked) { this.isWatermarked = isWatermarked; return this; } + public Builder isWatermarkInherited(Boolean isWatermarkInherited) { + this.isWatermarkInherited = isWatermarkInherited; + return this; + } + + public Builder isWatermarkedByAccessPolicy(Boolean isWatermarkedByAccessPolicy) { + this.isWatermarkedByAccessPolicy = isWatermarkedByAccessPolicy; + return this; + } + public FileFullWatermarkInfoField build() { return new FileFullWatermarkInfoField(this); } diff --git a/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullPermissionsField.java b/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullPermissionsField.java index 622c729f9..8e292b294 100644 --- a/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullPermissionsField.java +++ b/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullPermissionsField.java @@ -1,5 +1,6 @@ package com.box.sdkgen.schemas.folderfull; +import com.box.sdkgen.internal.NullableFieldTracker; import com.box.sdkgen.internal.SerializableObject; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; @@ -39,6 +40,10 @@ public class FolderFullPermissionsField extends SerializableObject { @JsonProperty("can_upload") protected final boolean canUpload; + /** Specifies if the user can apply a watermark to this folder and its contents. */ + @JsonProperty("can_apply_watermark") + protected Boolean canApplyWatermark; + public FolderFullPermissionsField( @JsonProperty("can_delete") boolean canDelete, @JsonProperty("can_download") boolean canDownload, @@ -57,6 +62,19 @@ public FolderFullPermissionsField( this.canUpload = canUpload; } + protected FolderFullPermissionsField(Builder builder) { + super(); + this.canDelete = builder.canDelete; + this.canDownload = builder.canDownload; + this.canInviteCollaborator = builder.canInviteCollaborator; + this.canRename = builder.canRename; + this.canSetShareAccess = builder.canSetShareAccess; + this.canShare = builder.canShare; + this.canUpload = builder.canUpload; + this.canApplyWatermark = builder.canApplyWatermark; + markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); + } + public boolean getCanDelete() { return canDelete; } @@ -85,6 +103,10 @@ public boolean getCanUpload() { return canUpload; } + public Boolean getCanApplyWatermark() { + return canApplyWatermark; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -100,7 +122,8 @@ public boolean equals(Object o) { && Objects.equals(canRename, casted.canRename) && Objects.equals(canSetShareAccess, casted.canSetShareAccess) && Objects.equals(canShare, casted.canShare) - && Objects.equals(canUpload, casted.canUpload); + && Objects.equals(canUpload, casted.canUpload) + && Objects.equals(canApplyWatermark, casted.canApplyWatermark); } @Override @@ -112,7 +135,8 @@ public int hashCode() { canRename, canSetShareAccess, canShare, - canUpload); + canUpload, + canApplyWatermark); } @Override @@ -145,6 +169,56 @@ public String toString() { + "canUpload='" + canUpload + '\'' + + ", " + + "canApplyWatermark='" + + canApplyWatermark + + '\'' + "}"; } + + public static class Builder extends NullableFieldTracker { + + protected final boolean canDelete; + + protected final boolean canDownload; + + protected final boolean canInviteCollaborator; + + protected final boolean canRename; + + protected final boolean canSetShareAccess; + + protected final boolean canShare; + + protected final boolean canUpload; + + protected Boolean canApplyWatermark; + + public Builder( + boolean canDelete, + boolean canDownload, + boolean canInviteCollaborator, + boolean canRename, + boolean canSetShareAccess, + boolean canShare, + boolean canUpload) { + super(); + this.canDelete = canDelete; + this.canDownload = canDownload; + this.canInviteCollaborator = canInviteCollaborator; + this.canRename = canRename; + this.canSetShareAccess = canSetShareAccess; + this.canShare = canShare; + this.canUpload = canUpload; + } + + public Builder canApplyWatermark(Boolean canApplyWatermark) { + this.canApplyWatermark = canApplyWatermark; + return this; + } + + public FolderFullPermissionsField build() { + return new FolderFullPermissionsField(this); + } + } } diff --git a/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullWatermarkInfoField.java b/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullWatermarkInfoField.java index b884b9654..a4cf7e8a7 100644 --- a/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullWatermarkInfoField.java +++ b/src/main/java/com/box/sdkgen/schemas/folderfull/FolderFullWatermarkInfoField.java @@ -13,6 +13,14 @@ public class FolderFullWatermarkInfoField extends SerializableObject { @JsonProperty("is_watermarked") protected Boolean isWatermarked; + /** Specifies if the watermark is inherited from any parent folder in the hierarchy. */ + @JsonProperty("is_watermark_inherited") + protected Boolean isWatermarkInherited; + + /** Specifies if the watermark is enforced by an access policy. */ + @JsonProperty("is_watermarked_by_access_policy") + protected Boolean isWatermarkedByAccessPolicy; + public FolderFullWatermarkInfoField() { super(); } @@ -20,6 +28,8 @@ public FolderFullWatermarkInfoField() { protected FolderFullWatermarkInfoField(Builder builder) { super(); this.isWatermarked = builder.isWatermarked; + this.isWatermarkInherited = builder.isWatermarkInherited; + this.isWatermarkedByAccessPolicy = builder.isWatermarkedByAccessPolicy; markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); } @@ -27,6 +37,14 @@ public Boolean getIsWatermarked() { return isWatermarked; } + public Boolean getIsWatermarkInherited() { + return isWatermarkInherited; + } + + public Boolean getIsWatermarkedByAccessPolicy() { + return isWatermarkedByAccessPolicy; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -36,28 +54,56 @@ public boolean equals(Object o) { return false; } FolderFullWatermarkInfoField casted = (FolderFullWatermarkInfoField) o; - return Objects.equals(isWatermarked, casted.isWatermarked); + return Objects.equals(isWatermarked, casted.isWatermarked) + && Objects.equals(isWatermarkInherited, casted.isWatermarkInherited) + && Objects.equals(isWatermarkedByAccessPolicy, casted.isWatermarkedByAccessPolicy); } @Override public int hashCode() { - return Objects.hash(isWatermarked); + return Objects.hash(isWatermarked, isWatermarkInherited, isWatermarkedByAccessPolicy); } @Override public String toString() { - return "FolderFullWatermarkInfoField{" + "isWatermarked='" + isWatermarked + '\'' + "}"; + return "FolderFullWatermarkInfoField{" + + "isWatermarked='" + + isWatermarked + + '\'' + + ", " + + "isWatermarkInherited='" + + isWatermarkInherited + + '\'' + + ", " + + "isWatermarkedByAccessPolicy='" + + isWatermarkedByAccessPolicy + + '\'' + + "}"; } public static class Builder extends NullableFieldTracker { protected Boolean isWatermarked; + protected Boolean isWatermarkInherited; + + protected Boolean isWatermarkedByAccessPolicy; + public Builder isWatermarked(Boolean isWatermarked) { this.isWatermarked = isWatermarked; return this; } + public Builder isWatermarkInherited(Boolean isWatermarkInherited) { + this.isWatermarkInherited = isWatermarkInherited; + return this; + } + + public Builder isWatermarkedByAccessPolicy(Boolean isWatermarkedByAccessPolicy) { + this.isWatermarkedByAccessPolicy = isWatermarkedByAccessPolicy; + return this; + } + public FolderFullWatermarkInfoField build() { return new FolderFullWatermarkInfoField(this); }