• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

box / box-java-sdk / #7460

03 Aug 2026 08:17AM UTC coverage: 34.727% (-0.2%) from 34.932%
#7460

push

github

web-flow
feat: add `is_collaborated_content_available_when_owner_inactive` property (box/box-openapi#613) (#1946)

Co-authored-by: box-sdk-build <box-sdk-build@box.com>

2 of 10 new or added lines in 2 files covered. (20.0%)

655 existing lines in 14 files now uncovered.

19663 of 56622 relevant lines covered (34.73%)

0.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

5.9
/src/main/java/com/box/sdkgen/schemas/filefull/FileFull.java
1
package com.box.sdkgen.schemas.filefull;
2

3
import com.box.sdkgen.internal.Nullable;
4
import com.box.sdkgen.internal.utils.DateTimeUtils;
5
import com.box.sdkgen.schemas.collection.Collection;
6
import com.box.sdkgen.schemas.file.File;
7
import com.box.sdkgen.schemas.file.FileItemStatusField;
8
import com.box.sdkgen.schemas.file.FilePathCollectionField;
9
import com.box.sdkgen.schemas.file.FileSharedLinkField;
10
import com.box.sdkgen.schemas.filebase.FileBaseTypeField;
11
import com.box.sdkgen.schemas.fileversionmini.FileVersionMini;
12
import com.box.sdkgen.schemas.foldermini.FolderMini;
13
import com.box.sdkgen.schemas.usermini.UserMini;
14
import com.box.sdkgen.serialization.json.EnumWrapper;
15
import com.box.sdkgen.serialization.json.Valuable;
16
import com.fasterxml.jackson.annotation.JsonFilter;
17
import com.fasterxml.jackson.annotation.JsonProperty;
18
import com.fasterxml.jackson.core.JsonGenerator;
19
import com.fasterxml.jackson.core.JsonParser;
20
import com.fasterxml.jackson.databind.DeserializationContext;
21
import com.fasterxml.jackson.databind.JsonDeserializer;
22
import com.fasterxml.jackson.databind.JsonNode;
23
import com.fasterxml.jackson.databind.JsonSerializer;
24
import com.fasterxml.jackson.databind.SerializerProvider;
25
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
26
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
27
import java.io.IOException;
28
import java.time.OffsetDateTime;
29
import java.util.ArrayList;
30
import java.util.List;
31
import java.util.Objects;
32

33
/** A full representation of a file, as can be returned from any file API endpoints by default. */
34
@JsonFilter("nullablePropertyFilter")
35
public class FileFull extends File {
36

37
  /** The version number of this file. */
38
  @JsonProperty("version_number")
39
  protected String versionNumber;
40

41
  /** The number of comments on this file. */
42
  @JsonProperty("comment_count")
43
  protected Long commentCount;
44

45
  protected FileFullPermissionsField permissions;
46

47
  protected List<String> tags;
48

49
  @Nullable protected FileFullLockField lock;
50

51
  /**
52
   * Indicates the (optional) file extension for this file. By default, this is set to an empty
53
   * string.
54
   */
55
  protected String extension;
56

57
  /**
58
   * Indicates if the file is a package. Packages are commonly used by Mac Applications and can
59
   * include iWork files.
60
   */
61
  @JsonProperty("is_package")
62
  protected Boolean isPackage;
63

64
  @JsonProperty("expiring_embed_link")
65
  protected FileFullExpiringEmbedLinkField expiringEmbedLink;
66

67
  @JsonProperty("watermark_info")
68
  protected FileFullWatermarkInfoField watermarkInfo;
69

70
  /**
71
   * Specifies if the file can be accessed via the direct shared link or a shared link to a parent
72
   * folder.
73
   */
74
  @JsonProperty("is_accessible_via_shared_link")
75
  protected Boolean isAccessibleViaSharedLink;
76

77
  /** A list of the types of roles that user can be invited at when sharing this file. */
78
  @JsonDeserialize(using = AllowedInviteeRolesDeserializer.class)
79
  @JsonSerialize(using = AllowedInviteeRolesSerializer.class)
80
  @JsonProperty("allowed_invitee_roles")
81
  protected List<EnumWrapper<FileFullAllowedInviteeRolesField>> allowedInviteeRoles;
82

83
  /** Specifies if this file is owned by a user outside of the authenticated enterprise. */
84
  @JsonProperty("is_externally_owned")
85
  protected Boolean isExternallyOwned;
86

87
  /** Specifies if this file has any other collaborators. */
88
  @JsonProperty("has_collaborations")
89
  protected Boolean hasCollaborations;
90

91
  protected FileFullMetadataField metadata;
92

93
  /** When the file will automatically be deleted. */
94
  @JsonProperty("expires_at")
95
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
96
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
97
  @Nullable
98
  protected OffsetDateTime expiresAt;
99

100
  protected FileFullRepresentationsField representations;
101

102
  protected FileFullClassificationField classification;
103

104
  @JsonProperty("uploader_display_name")
105
  protected String uploaderDisplayName;
106

107
  /** The retention expiration timestamp for the given file. */
108
  @JsonProperty("disposition_at")
109
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
110
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
111
  @Nullable
112
  protected OffsetDateTime dispositionAt;
113

114
  /** A list of the types of roles that user can be invited at when sharing this file. */
115
  @JsonDeserialize(using = SharedLinkPermissionOptionsDeserializer.class)
116
  @JsonSerialize(using = SharedLinkPermissionOptionsSerializer.class)
117
  @JsonProperty("shared_link_permission_options")
118
  @Nullable
119
  protected List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>> sharedLinkPermissionOptions;
120

121
  /**
122
   * This field will return true if the file or any ancestor of the file is associated with at least
123
   * one app item. Note that this will return true even if the context user does not have access to
124
   * the app item(s) associated with the file.
125
   */
126
  @JsonProperty("is_associated_with_app_item")
127
  protected Boolean isAssociatedWithAppItem;
128

129
  /**
130
   * The collections that this file belongs to.
131
   *
132
   * <p>For more information, see the [collections
133
   * guide](https://developer.box.com/guides/collections).
134
   */
135
  protected List<Collection> collections;
136

137
  /**
138
   * Whether the file's binary content is eligible to be downloaded.
139
   *
140
   * <p>This is a content-level flag and does not reflect whether the current user is authorized to
141
   * download the file. Use `permissions.can_download`, when available, for that.
142
   */
143
  @JsonProperty("is_download_available")
144
  protected Boolean isDownloadAvailable;
145

146
  /**
147
   * A pre-authorized, expiring URL for directly downloading the file's content. Requires
148
   * authentication and is valid only for the current session.
149
   *
150
   * <p>This field is only returned for files, not folders or web links.
151
   */
152
  @JsonProperty("download_url")
153
  protected String downloadUrl;
154

155
  /**
156
   * A stable API URL for the file content endpoint, `/2.0/files/{id}/content`. Unlike
157
   * `download_url`, authorization is evaluated when the URL is requested with a valid access token.
158
   *
159
   * <p>This field is only returned for files, not folders or web links.
160
   */
161
  @JsonProperty("authenticated_download_url")
162
  protected String authenticatedDownloadUrl;
163

164
  /**
165
   * The shared link access levels the authenticated user is allowed to use when creating or
166
   * updating a shared link for this file.
167
   *
168
   * <p>The list depends on item policy and user authorization, so it may be narrower than the
169
   * levels available to the owner. An empty array means no access level is available to this user.
170
   */
171
  @JsonDeserialize(using = AllowedSharedLinkAccessLevelsDeserializer.class)
172
  @JsonSerialize(using = AllowedSharedLinkAccessLevelsSerializer.class)
173
  @JsonProperty("allowed_shared_link_access_levels")
174
  protected List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>
175
      allowedSharedLinkAccessLevels;
176

177
  public FileFull(@JsonProperty("id") String id) {
178
    super(id);
1✔
179
  }
1✔
180

181
  protected FileFull(Builder builder) {
UNCOV
182
    super(builder);
×
183
    this.versionNumber = builder.versionNumber;
×
UNCOV
184
    this.commentCount = builder.commentCount;
×
UNCOV
185
    this.permissions = builder.permissions;
×
UNCOV
186
    this.tags = builder.tags;
×
187
    this.lock = builder.lock;
×
UNCOV
188
    this.extension = builder.extension;
×
UNCOV
189
    this.isPackage = builder.isPackage;
×
UNCOV
190
    this.expiringEmbedLink = builder.expiringEmbedLink;
×
191
    this.watermarkInfo = builder.watermarkInfo;
×
UNCOV
192
    this.isAccessibleViaSharedLink = builder.isAccessibleViaSharedLink;
×
UNCOV
193
    this.allowedInviteeRoles = builder.allowedInviteeRoles;
×
UNCOV
194
    this.isExternallyOwned = builder.isExternallyOwned;
×
195
    this.hasCollaborations = builder.hasCollaborations;
×
UNCOV
196
    this.metadata = builder.metadata;
×
UNCOV
197
    this.expiresAt = builder.expiresAt;
×
UNCOV
198
    this.representations = builder.representations;
×
199
    this.classification = builder.classification;
×
UNCOV
200
    this.uploaderDisplayName = builder.uploaderDisplayName;
×
UNCOV
201
    this.dispositionAt = builder.dispositionAt;
×
UNCOV
202
    this.sharedLinkPermissionOptions = builder.sharedLinkPermissionOptions;
×
UNCOV
203
    this.isAssociatedWithAppItem = builder.isAssociatedWithAppItem;
×
UNCOV
204
    this.collections = builder.collections;
×
UNCOV
205
    this.isDownloadAvailable = builder.isDownloadAvailable;
×
UNCOV
206
    this.downloadUrl = builder.downloadUrl;
×
UNCOV
207
    this.authenticatedDownloadUrl = builder.authenticatedDownloadUrl;
×
UNCOV
208
    this.allowedSharedLinkAccessLevels = builder.allowedSharedLinkAccessLevels;
×
UNCOV
209
    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
×
UNCOV
210
  }
×
211

212
  public String getVersionNumber() {
UNCOV
213
    return versionNumber;
×
214
  }
215

216
  public Long getCommentCount() {
UNCOV
217
    return commentCount;
×
218
  }
219

220
  public FileFullPermissionsField getPermissions() {
UNCOV
221
    return permissions;
×
222
  }
223

224
  public List<String> getTags() {
UNCOV
225
    return tags;
×
226
  }
227

228
  public FileFullLockField getLock() {
229
    return lock;
1✔
230
  }
231

232
  public String getExtension() {
UNCOV
233
    return extension;
×
234
  }
235

236
  public Boolean getIsPackage() {
UNCOV
237
    return isPackage;
×
238
  }
239

240
  public FileFullExpiringEmbedLinkField getExpiringEmbedLink() {
UNCOV
241
    return expiringEmbedLink;
×
242
  }
243

244
  public FileFullWatermarkInfoField getWatermarkInfo() {
245
    return watermarkInfo;
×
246
  }
247

248
  public Boolean getIsAccessibleViaSharedLink() {
249
    return isAccessibleViaSharedLink;
×
250
  }
251

252
  public List<EnumWrapper<FileFullAllowedInviteeRolesField>> getAllowedInviteeRoles() {
253
    return allowedInviteeRoles;
×
254
  }
255

256
  public Boolean getIsExternallyOwned() {
257
    return isExternallyOwned;
1✔
258
  }
259

260
  public Boolean getHasCollaborations() {
261
    return hasCollaborations;
1✔
262
  }
263

264
  public FileFullMetadataField getMetadata() {
265
    return metadata;
×
266
  }
267

268
  public OffsetDateTime getExpiresAt() {
269
    return expiresAt;
×
270
  }
271

272
  public FileFullRepresentationsField getRepresentations() {
273
    return representations;
×
274
  }
275

276
  public FileFullClassificationField getClassification() {
277
    return classification;
×
278
  }
279

280
  public String getUploaderDisplayName() {
281
    return uploaderDisplayName;
×
282
  }
283

284
  public OffsetDateTime getDispositionAt() {
285
    return dispositionAt;
×
286
  }
287

288
  public List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>>
289
      getSharedLinkPermissionOptions() {
290
    return sharedLinkPermissionOptions;
×
291
  }
292

293
  public Boolean getIsAssociatedWithAppItem() {
294
    return isAssociatedWithAppItem;
1✔
295
  }
296

297
  public List<Collection> getCollections() {
298
    return collections;
1✔
299
  }
300

301
  public Boolean getIsDownloadAvailable() {
UNCOV
302
    return isDownloadAvailable;
×
303
  }
304

305
  public String getDownloadUrl() {
UNCOV
306
    return downloadUrl;
×
307
  }
308

309
  public String getAuthenticatedDownloadUrl() {
UNCOV
310
    return authenticatedDownloadUrl;
×
311
  }
312

313
  public List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>
314
      getAllowedSharedLinkAccessLevels() {
315
    return allowedSharedLinkAccessLevels;
1✔
316
  }
317

318
  @Override
319
  public boolean equals(Object o) {
UNCOV
320
    if (this == o) {
×
UNCOV
321
      return true;
×
322
    }
UNCOV
323
    if (o == null || getClass() != o.getClass()) {
×
UNCOV
324
      return false;
×
325
    }
UNCOV
326
    FileFull casted = (FileFull) o;
×
UNCOV
327
    return Objects.equals(id, casted.id)
×
UNCOV
328
        && Objects.equals(etag, casted.etag)
×
UNCOV
329
        && Objects.equals(type, casted.type)
×
UNCOV
330
        && Objects.equals(sequenceId, casted.sequenceId)
×
UNCOV
331
        && Objects.equals(name, casted.name)
×
UNCOV
332
        && Objects.equals(sha1, casted.sha1)
×
UNCOV
333
        && Objects.equals(fileVersion, casted.fileVersion)
×
UNCOV
334
        && Objects.equals(description, casted.description)
×
UNCOV
335
        && Objects.equals(size, casted.size)
×
UNCOV
336
        && Objects.equals(pathCollection, casted.pathCollection)
×
UNCOV
337
        && Objects.equals(createdAt, casted.createdAt)
×
UNCOV
338
        && Objects.equals(modifiedAt, casted.modifiedAt)
×
UNCOV
339
        && Objects.equals(trashedAt, casted.trashedAt)
×
UNCOV
340
        && Objects.equals(purgedAt, casted.purgedAt)
×
UNCOV
341
        && Objects.equals(contentCreatedAt, casted.contentCreatedAt)
×
UNCOV
342
        && Objects.equals(contentModifiedAt, casted.contentModifiedAt)
×
UNCOV
343
        && Objects.equals(createdBy, casted.createdBy)
×
UNCOV
344
        && Objects.equals(modifiedBy, casted.modifiedBy)
×
UNCOV
345
        && Objects.equals(ownedBy, casted.ownedBy)
×
UNCOV
346
        && Objects.equals(sharedLink, casted.sharedLink)
×
347
        && Objects.equals(parent, casted.parent)
×
UNCOV
348
        && Objects.equals(itemStatus, casted.itemStatus)
×
UNCOV
349
        && Objects.equals(versionNumber, casted.versionNumber)
×
UNCOV
350
        && Objects.equals(commentCount, casted.commentCount)
×
UNCOV
351
        && Objects.equals(permissions, casted.permissions)
×
UNCOV
352
        && Objects.equals(tags, casted.tags)
×
UNCOV
353
        && Objects.equals(lock, casted.lock)
×
UNCOV
354
        && Objects.equals(extension, casted.extension)
×
UNCOV
355
        && Objects.equals(isPackage, casted.isPackage)
×
UNCOV
356
        && Objects.equals(expiringEmbedLink, casted.expiringEmbedLink)
×
UNCOV
357
        && Objects.equals(watermarkInfo, casted.watermarkInfo)
×
UNCOV
358
        && Objects.equals(isAccessibleViaSharedLink, casted.isAccessibleViaSharedLink)
×
UNCOV
359
        && Objects.equals(allowedInviteeRoles, casted.allowedInviteeRoles)
×
UNCOV
360
        && Objects.equals(isExternallyOwned, casted.isExternallyOwned)
×
UNCOV
361
        && Objects.equals(hasCollaborations, casted.hasCollaborations)
×
UNCOV
362
        && Objects.equals(metadata, casted.metadata)
×
UNCOV
363
        && Objects.equals(expiresAt, casted.expiresAt)
×
UNCOV
364
        && Objects.equals(representations, casted.representations)
×
UNCOV
365
        && Objects.equals(classification, casted.classification)
×
UNCOV
366
        && Objects.equals(uploaderDisplayName, casted.uploaderDisplayName)
×
UNCOV
367
        && Objects.equals(dispositionAt, casted.dispositionAt)
×
UNCOV
368
        && Objects.equals(sharedLinkPermissionOptions, casted.sharedLinkPermissionOptions)
×
UNCOV
369
        && Objects.equals(isAssociatedWithAppItem, casted.isAssociatedWithAppItem)
×
UNCOV
370
        && Objects.equals(collections, casted.collections)
×
UNCOV
371
        && Objects.equals(isDownloadAvailable, casted.isDownloadAvailable)
×
UNCOV
372
        && Objects.equals(downloadUrl, casted.downloadUrl)
×
UNCOV
373
        && Objects.equals(authenticatedDownloadUrl, casted.authenticatedDownloadUrl)
×
UNCOV
374
        && Objects.equals(allowedSharedLinkAccessLevels, casted.allowedSharedLinkAccessLevels);
×
375
  }
376

377
  @Override
378
  public int hashCode() {
UNCOV
379
    return Objects.hash(
×
380
        id,
381
        etag,
382
        type,
383
        sequenceId,
384
        name,
385
        sha1,
386
        fileVersion,
387
        description,
388
        size,
389
        pathCollection,
390
        createdAt,
391
        modifiedAt,
392
        trashedAt,
393
        purgedAt,
394
        contentCreatedAt,
395
        contentModifiedAt,
396
        createdBy,
397
        modifiedBy,
398
        ownedBy,
399
        sharedLink,
400
        parent,
401
        itemStatus,
402
        versionNumber,
403
        commentCount,
404
        permissions,
405
        tags,
406
        lock,
407
        extension,
408
        isPackage,
409
        expiringEmbedLink,
410
        watermarkInfo,
411
        isAccessibleViaSharedLink,
412
        allowedInviteeRoles,
413
        isExternallyOwned,
414
        hasCollaborations,
415
        metadata,
416
        expiresAt,
417
        representations,
418
        classification,
419
        uploaderDisplayName,
420
        dispositionAt,
421
        sharedLinkPermissionOptions,
422
        isAssociatedWithAppItem,
423
        collections,
424
        isDownloadAvailable,
425
        downloadUrl,
426
        authenticatedDownloadUrl,
427
        allowedSharedLinkAccessLevels);
428
  }
429

430
  @Override
431
  public String toString() {
UNCOV
432
    return "FileFull{"
×
433
        + "id='"
434
        + id
435
        + '\''
436
        + ", "
437
        + "etag='"
438
        + etag
439
        + '\''
440
        + ", "
441
        + "type='"
442
        + type
443
        + '\''
444
        + ", "
445
        + "sequenceId='"
446
        + sequenceId
447
        + '\''
448
        + ", "
449
        + "name='"
450
        + name
451
        + '\''
452
        + ", "
453
        + "sha1='"
454
        + sha1
455
        + '\''
456
        + ", "
457
        + "fileVersion='"
458
        + fileVersion
459
        + '\''
460
        + ", "
461
        + "description='"
462
        + description
463
        + '\''
464
        + ", "
465
        + "size='"
466
        + size
467
        + '\''
468
        + ", "
469
        + "pathCollection='"
470
        + pathCollection
471
        + '\''
472
        + ", "
473
        + "createdAt='"
474
        + createdAt
475
        + '\''
476
        + ", "
477
        + "modifiedAt='"
478
        + modifiedAt
479
        + '\''
480
        + ", "
481
        + "trashedAt='"
482
        + trashedAt
483
        + '\''
484
        + ", "
485
        + "purgedAt='"
486
        + purgedAt
487
        + '\''
488
        + ", "
489
        + "contentCreatedAt='"
490
        + contentCreatedAt
491
        + '\''
492
        + ", "
493
        + "contentModifiedAt='"
494
        + contentModifiedAt
495
        + '\''
496
        + ", "
497
        + "createdBy='"
498
        + createdBy
499
        + '\''
500
        + ", "
501
        + "modifiedBy='"
502
        + modifiedBy
503
        + '\''
504
        + ", "
505
        + "ownedBy='"
506
        + ownedBy
507
        + '\''
508
        + ", "
509
        + "sharedLink='"
510
        + sharedLink
511
        + '\''
512
        + ", "
513
        + "parent='"
514
        + parent
515
        + '\''
516
        + ", "
517
        + "itemStatus='"
518
        + itemStatus
519
        + '\''
520
        + ", "
521
        + "versionNumber='"
522
        + versionNumber
523
        + '\''
524
        + ", "
525
        + "commentCount='"
526
        + commentCount
527
        + '\''
528
        + ", "
529
        + "permissions='"
530
        + permissions
531
        + '\''
532
        + ", "
533
        + "tags='"
534
        + tags
535
        + '\''
536
        + ", "
537
        + "lock='"
538
        + lock
539
        + '\''
540
        + ", "
541
        + "extension='"
542
        + extension
543
        + '\''
544
        + ", "
545
        + "isPackage='"
546
        + isPackage
547
        + '\''
548
        + ", "
549
        + "expiringEmbedLink='"
550
        + expiringEmbedLink
551
        + '\''
552
        + ", "
553
        + "watermarkInfo='"
554
        + watermarkInfo
555
        + '\''
556
        + ", "
557
        + "isAccessibleViaSharedLink='"
558
        + isAccessibleViaSharedLink
559
        + '\''
560
        + ", "
561
        + "allowedInviteeRoles='"
562
        + allowedInviteeRoles
563
        + '\''
564
        + ", "
565
        + "isExternallyOwned='"
566
        + isExternallyOwned
567
        + '\''
568
        + ", "
569
        + "hasCollaborations='"
570
        + hasCollaborations
571
        + '\''
572
        + ", "
573
        + "metadata='"
574
        + metadata
575
        + '\''
576
        + ", "
577
        + "expiresAt='"
578
        + expiresAt
579
        + '\''
580
        + ", "
581
        + "representations='"
582
        + representations
583
        + '\''
584
        + ", "
585
        + "classification='"
586
        + classification
587
        + '\''
588
        + ", "
589
        + "uploaderDisplayName='"
590
        + uploaderDisplayName
591
        + '\''
592
        + ", "
593
        + "dispositionAt='"
594
        + dispositionAt
595
        + '\''
596
        + ", "
597
        + "sharedLinkPermissionOptions='"
598
        + sharedLinkPermissionOptions
599
        + '\''
600
        + ", "
601
        + "isAssociatedWithAppItem='"
602
        + isAssociatedWithAppItem
603
        + '\''
604
        + ", "
605
        + "collections='"
606
        + collections
607
        + '\''
608
        + ", "
609
        + "isDownloadAvailable='"
610
        + isDownloadAvailable
611
        + '\''
612
        + ", "
613
        + "downloadUrl='"
614
        + downloadUrl
615
        + '\''
616
        + ", "
617
        + "authenticatedDownloadUrl='"
618
        + authenticatedDownloadUrl
619
        + '\''
620
        + ", "
621
        + "allowedSharedLinkAccessLevels='"
622
        + allowedSharedLinkAccessLevels
623
        + '\''
624
        + "}";
625
  }
626

627
  public static class Builder extends File.Builder {
628

629
    protected String versionNumber;
630

631
    protected Long commentCount;
632

633
    protected FileFullPermissionsField permissions;
634

635
    protected List<String> tags;
636

637
    protected FileFullLockField lock;
638

639
    protected String extension;
640

641
    protected Boolean isPackage;
642

643
    protected FileFullExpiringEmbedLinkField expiringEmbedLink;
644

645
    protected FileFullWatermarkInfoField watermarkInfo;
646

647
    protected Boolean isAccessibleViaSharedLink;
648

649
    protected List<EnumWrapper<FileFullAllowedInviteeRolesField>> allowedInviteeRoles;
650

651
    protected Boolean isExternallyOwned;
652

653
    protected Boolean hasCollaborations;
654

655
    protected FileFullMetadataField metadata;
656

657
    protected OffsetDateTime expiresAt;
658

659
    protected FileFullRepresentationsField representations;
660

661
    protected FileFullClassificationField classification;
662

663
    protected String uploaderDisplayName;
664

665
    protected OffsetDateTime dispositionAt;
666

667
    protected List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>>
668
        sharedLinkPermissionOptions;
669

670
    protected Boolean isAssociatedWithAppItem;
671

672
    protected List<Collection> collections;
673

674
    protected Boolean isDownloadAvailable;
675

676
    protected String downloadUrl;
677

678
    protected String authenticatedDownloadUrl;
679

680
    protected List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>
681
        allowedSharedLinkAccessLevels;
682

683
    public Builder(String id) {
UNCOV
684
      super(id);
×
UNCOV
685
    }
×
686

687
    public Builder versionNumber(String versionNumber) {
688
      this.versionNumber = versionNumber;
×
689
      return this;
×
690
    }
691

692
    public Builder commentCount(Long commentCount) {
UNCOV
693
      this.commentCount = commentCount;
×
694
      return this;
×
695
    }
696

697
    public Builder permissions(FileFullPermissionsField permissions) {
UNCOV
698
      this.permissions = permissions;
×
UNCOV
699
      return this;
×
700
    }
701

702
    public Builder tags(List<String> tags) {
UNCOV
703
      this.tags = tags;
×
UNCOV
704
      return this;
×
705
    }
706

707
    public Builder lock(FileFullLockField lock) {
UNCOV
708
      this.lock = lock;
×
UNCOV
709
      this.markNullableFieldAsSet("lock");
×
UNCOV
710
      return this;
×
711
    }
712

713
    public Builder extension(String extension) {
UNCOV
714
      this.extension = extension;
×
UNCOV
715
      return this;
×
716
    }
717

718
    public Builder isPackage(Boolean isPackage) {
719
      this.isPackage = isPackage;
×
UNCOV
720
      return this;
×
721
    }
722

723
    public Builder expiringEmbedLink(FileFullExpiringEmbedLinkField expiringEmbedLink) {
724
      this.expiringEmbedLink = expiringEmbedLink;
×
725
      return this;
×
726
    }
727

728
    public Builder watermarkInfo(FileFullWatermarkInfoField watermarkInfo) {
UNCOV
729
      this.watermarkInfo = watermarkInfo;
×
730
      return this;
×
731
    }
732

733
    public Builder isAccessibleViaSharedLink(Boolean isAccessibleViaSharedLink) {
UNCOV
734
      this.isAccessibleViaSharedLink = isAccessibleViaSharedLink;
×
UNCOV
735
      return this;
×
736
    }
737

738
    public Builder allowedInviteeRoles(List<? extends Valuable> allowedInviteeRoles) {
UNCOV
739
      this.allowedInviteeRoles =
×
UNCOV
740
          EnumWrapper.wrapValuableEnumList(
×
741
              allowedInviteeRoles, FileFullAllowedInviteeRolesField.class);
742
      return this;
×
743
    }
744

745
    public Builder isExternallyOwned(Boolean isExternallyOwned) {
UNCOV
746
      this.isExternallyOwned = isExternallyOwned;
×
UNCOV
747
      return this;
×
748
    }
749

750
    public Builder hasCollaborations(Boolean hasCollaborations) {
UNCOV
751
      this.hasCollaborations = hasCollaborations;
×
UNCOV
752
      return this;
×
753
    }
754

755
    public Builder metadata(FileFullMetadataField metadata) {
UNCOV
756
      this.metadata = metadata;
×
UNCOV
757
      return this;
×
758
    }
759

760
    public Builder expiresAt(OffsetDateTime expiresAt) {
761
      this.expiresAt = expiresAt;
×
762
      this.markNullableFieldAsSet("expires_at");
×
UNCOV
763
      return this;
×
764
    }
765

766
    public Builder representations(FileFullRepresentationsField representations) {
767
      this.representations = representations;
×
768
      return this;
×
769
    }
770

771
    public Builder classification(FileFullClassificationField classification) {
UNCOV
772
      this.classification = classification;
×
UNCOV
773
      return this;
×
774
    }
775

776
    public Builder uploaderDisplayName(String uploaderDisplayName) {
UNCOV
777
      this.uploaderDisplayName = uploaderDisplayName;
×
UNCOV
778
      return this;
×
779
    }
780

781
    public Builder dispositionAt(OffsetDateTime dispositionAt) {
782
      this.dispositionAt = dispositionAt;
×
783
      this.markNullableFieldAsSet("disposition_at");
×
UNCOV
784
      return this;
×
785
    }
786

787
    public Builder sharedLinkPermissionOptions(
788
        List<? extends Valuable> sharedLinkPermissionOptions) {
789
      this.sharedLinkPermissionOptions =
×
UNCOV
790
          EnumWrapper.wrapValuableEnumList(
×
791
              sharedLinkPermissionOptions, FileFullSharedLinkPermissionOptionsField.class);
UNCOV
792
      this.markNullableFieldAsSet("shared_link_permission_options");
×
UNCOV
793
      return this;
×
794
    }
795

796
    public Builder isAssociatedWithAppItem(Boolean isAssociatedWithAppItem) {
UNCOV
797
      this.isAssociatedWithAppItem = isAssociatedWithAppItem;
×
UNCOV
798
      return this;
×
799
    }
800

801
    public Builder collections(List<Collection> collections) {
UNCOV
802
      this.collections = collections;
×
UNCOV
803
      return this;
×
804
    }
805

806
    public Builder isDownloadAvailable(Boolean isDownloadAvailable) {
807
      this.isDownloadAvailable = isDownloadAvailable;
×
UNCOV
808
      return this;
×
809
    }
810

811
    public Builder downloadUrl(String downloadUrl) {
812
      this.downloadUrl = downloadUrl;
×
813
      return this;
×
814
    }
815

816
    public Builder authenticatedDownloadUrl(String authenticatedDownloadUrl) {
UNCOV
817
      this.authenticatedDownloadUrl = authenticatedDownloadUrl;
×
UNCOV
818
      return this;
×
819
    }
820

821
    public Builder allowedSharedLinkAccessLevels(
822
        List<? extends Valuable> allowedSharedLinkAccessLevels) {
UNCOV
823
      this.allowedSharedLinkAccessLevels =
×
UNCOV
824
          EnumWrapper.wrapValuableEnumList(
×
825
              allowedSharedLinkAccessLevels, FileFullAllowedSharedLinkAccessLevelsField.class);
826
      return this;
×
827
    }
828

829
    @Override
830
    public Builder etag(String etag) {
831
      this.etag = etag;
×
UNCOV
832
      this.markNullableFieldAsSet("etag");
×
833
      return this;
×
834
    }
835

836
    @Override
837
    public Builder type(FileBaseTypeField type) {
UNCOV
838
      this.type = new EnumWrapper<FileBaseTypeField>(type);
×
UNCOV
839
      return this;
×
840
    }
841

842
    @Override
843
    public Builder type(EnumWrapper<FileBaseTypeField> type) {
UNCOV
844
      this.type = type;
×
UNCOV
845
      return this;
×
846
    }
847

848
    @Override
849
    public Builder sequenceId(String sequenceId) {
UNCOV
850
      this.sequenceId = sequenceId;
×
UNCOV
851
      return this;
×
852
    }
853

854
    @Override
855
    public Builder name(String name) {
856
      this.name = name;
×
857
      return this;
×
858
    }
859

860
    @Override
861
    public Builder sha1(String sha1) {
UNCOV
862
      this.sha1 = sha1;
×
UNCOV
863
      return this;
×
864
    }
865

866
    @Override
867
    public Builder fileVersion(FileVersionMini fileVersion) {
UNCOV
868
      this.fileVersion = fileVersion;
×
869
      return this;
×
870
    }
871

872
    @Override
873
    public Builder description(String description) {
UNCOV
874
      this.description = description;
×
UNCOV
875
      return this;
×
876
    }
877

878
    @Override
879
    public Builder size(Long size) {
880
      this.size = size;
×
881
      return this;
×
882
    }
883

884
    @Override
885
    public Builder pathCollection(FilePathCollectionField pathCollection) {
UNCOV
886
      this.pathCollection = pathCollection;
×
UNCOV
887
      return this;
×
888
    }
889

890
    @Override
891
    public Builder createdAt(OffsetDateTime createdAt) {
UNCOV
892
      this.createdAt = createdAt;
×
UNCOV
893
      return this;
×
894
    }
895

896
    @Override
897
    public Builder modifiedAt(OffsetDateTime modifiedAt) {
UNCOV
898
      this.modifiedAt = modifiedAt;
×
UNCOV
899
      return this;
×
900
    }
901

902
    @Override
903
    public Builder trashedAt(OffsetDateTime trashedAt) {
904
      this.trashedAt = trashedAt;
×
905
      this.markNullableFieldAsSet("trashed_at");
×
906
      return this;
×
907
    }
908

909
    @Override
910
    public Builder purgedAt(OffsetDateTime purgedAt) {
911
      this.purgedAt = purgedAt;
×
UNCOV
912
      this.markNullableFieldAsSet("purged_at");
×
UNCOV
913
      return this;
×
914
    }
915

916
    @Override
917
    public Builder contentCreatedAt(OffsetDateTime contentCreatedAt) {
UNCOV
918
      this.contentCreatedAt = contentCreatedAt;
×
UNCOV
919
      this.markNullableFieldAsSet("content_created_at");
×
UNCOV
920
      return this;
×
921
    }
922

923
    @Override
924
    public Builder contentModifiedAt(OffsetDateTime contentModifiedAt) {
UNCOV
925
      this.contentModifiedAt = contentModifiedAt;
×
926
      this.markNullableFieldAsSet("content_modified_at");
×
UNCOV
927
      return this;
×
928
    }
929

930
    @Override
931
    public Builder createdBy(UserMini createdBy) {
UNCOV
932
      this.createdBy = createdBy;
×
UNCOV
933
      return this;
×
934
    }
935

936
    @Override
937
    public Builder modifiedBy(UserMini modifiedBy) {
938
      this.modifiedBy = modifiedBy;
×
939
      return this;
×
940
    }
941

942
    @Override
943
    public Builder ownedBy(UserMini ownedBy) {
UNCOV
944
      this.ownedBy = ownedBy;
×
UNCOV
945
      return this;
×
946
    }
947

948
    @Override
949
    public Builder sharedLink(FileSharedLinkField sharedLink) {
UNCOV
950
      this.sharedLink = sharedLink;
×
UNCOV
951
      return this;
×
952
    }
953

954
    @Override
955
    public Builder parent(FolderMini parent) {
UNCOV
956
      this.parent = parent;
×
UNCOV
957
      this.markNullableFieldAsSet("parent");
×
UNCOV
958
      return this;
×
959
    }
960

961
    @Override
962
    public Builder itemStatus(FileItemStatusField itemStatus) {
UNCOV
963
      this.itemStatus = new EnumWrapper<FileItemStatusField>(itemStatus);
×
UNCOV
964
      return this;
×
965
    }
966

967
    @Override
968
    public Builder itemStatus(EnumWrapper<FileItemStatusField> itemStatus) {
UNCOV
969
      this.itemStatus = itemStatus;
×
UNCOV
970
      return this;
×
971
    }
972

973
    public FileFull build() {
UNCOV
974
      if (this.type == null) {
×
UNCOV
975
        this.type = new EnumWrapper<FileBaseTypeField>(FileBaseTypeField.FILE);
×
976
      }
UNCOV
977
      return new FileFull(this);
×
978
    }
979
  }
980

981
  public static class AllowedInviteeRolesDeserializer
982
      extends JsonDeserializer<List<EnumWrapper<FileFullAllowedInviteeRolesField>>> {
983

984
    public final JsonDeserializer<EnumWrapper<FileFullAllowedInviteeRolesField>>
985
        elementDeserializer;
986

987
    public AllowedInviteeRolesDeserializer() {
988
      super();
1✔
989
      this.elementDeserializer =
1✔
990
          new FileFullAllowedInviteeRolesField.FileFullAllowedInviteeRolesFieldDeserializer();
991
    }
1✔
992

993
    @Override
994
    public List<EnumWrapper<FileFullAllowedInviteeRolesField>> deserialize(
995
        JsonParser p, DeserializationContext ctxt) throws IOException {
UNCOV
996
      JsonNode node = p.getCodec().readTree(p);
×
UNCOV
997
      List<EnumWrapper<FileFullAllowedInviteeRolesField>> elements = new ArrayList<>();
×
UNCOV
998
      for (JsonNode item : node) {
×
UNCOV
999
        JsonParser pa = item.traverse(p.getCodec());
×
UNCOV
1000
        pa.nextToken();
×
UNCOV
1001
        elements.add(elementDeserializer.deserialize(pa, ctxt));
×
UNCOV
1002
      }
×
UNCOV
1003
      return elements;
×
1004
    }
1005
  }
1006

1007
  public static class AllowedInviteeRolesSerializer
1008
      extends JsonSerializer<List<EnumWrapper<FileFullAllowedInviteeRolesField>>> {
1009

1010
    public final JsonSerializer<EnumWrapper<FileFullAllowedInviteeRolesField>> elementSerializer;
1011

1012
    public AllowedInviteeRolesSerializer() {
UNCOV
1013
      super();
×
UNCOV
1014
      this.elementSerializer =
×
1015
          new FileFullAllowedInviteeRolesField.FileFullAllowedInviteeRolesFieldSerializer();
UNCOV
1016
    }
×
1017

1018
    @Override
1019
    public void serialize(
1020
        List<EnumWrapper<FileFullAllowedInviteeRolesField>> value,
1021
        JsonGenerator gen,
1022
        SerializerProvider serializers)
1023
        throws IOException {
UNCOV
1024
      gen.writeStartArray();
×
UNCOV
1025
      for (EnumWrapper<FileFullAllowedInviteeRolesField> item : value) {
×
UNCOV
1026
        elementSerializer.serialize(item, gen, serializers);
×
UNCOV
1027
      }
×
UNCOV
1028
      gen.writeEndArray();
×
UNCOV
1029
    }
×
1030
  }
1031

1032
  public static class SharedLinkPermissionOptionsDeserializer
1033
      extends JsonDeserializer<List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>>> {
1034

1035
    public final JsonDeserializer<EnumWrapper<FileFullSharedLinkPermissionOptionsField>>
1036
        elementDeserializer;
1037

1038
    public SharedLinkPermissionOptionsDeserializer() {
1039
      super();
1✔
1040
      this.elementDeserializer =
1✔
1041
          new FileFullSharedLinkPermissionOptionsField
1042
              .FileFullSharedLinkPermissionOptionsFieldDeserializer();
1043
    }
1✔
1044

1045
    @Override
1046
    public List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>> deserialize(
1047
        JsonParser p, DeserializationContext ctxt) throws IOException {
UNCOV
1048
      JsonNode node = p.getCodec().readTree(p);
×
UNCOV
1049
      List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>> elements = new ArrayList<>();
×
UNCOV
1050
      for (JsonNode item : node) {
×
UNCOV
1051
        JsonParser pa = item.traverse(p.getCodec());
×
UNCOV
1052
        pa.nextToken();
×
UNCOV
1053
        elements.add(elementDeserializer.deserialize(pa, ctxt));
×
UNCOV
1054
      }
×
UNCOV
1055
      return elements;
×
1056
    }
1057
  }
1058

1059
  public static class SharedLinkPermissionOptionsSerializer
1060
      extends JsonSerializer<List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>>> {
1061

1062
    public final JsonSerializer<EnumWrapper<FileFullSharedLinkPermissionOptionsField>>
1063
        elementSerializer;
1064

1065
    public SharedLinkPermissionOptionsSerializer() {
UNCOV
1066
      super();
×
UNCOV
1067
      this.elementSerializer =
×
1068
          new FileFullSharedLinkPermissionOptionsField
1069
              .FileFullSharedLinkPermissionOptionsFieldSerializer();
UNCOV
1070
    }
×
1071

1072
    @Override
1073
    public void serialize(
1074
        List<EnumWrapper<FileFullSharedLinkPermissionOptionsField>> value,
1075
        JsonGenerator gen,
1076
        SerializerProvider serializers)
1077
        throws IOException {
UNCOV
1078
      gen.writeStartArray();
×
UNCOV
1079
      for (EnumWrapper<FileFullSharedLinkPermissionOptionsField> item : value) {
×
UNCOV
1080
        elementSerializer.serialize(item, gen, serializers);
×
UNCOV
1081
      }
×
UNCOV
1082
      gen.writeEndArray();
×
UNCOV
1083
    }
×
1084
  }
1085

1086
  public static class AllowedSharedLinkAccessLevelsDeserializer
1087
      extends JsonDeserializer<List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>> {
1088

1089
    public final JsonDeserializer<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>
1090
        elementDeserializer;
1091

1092
    public AllowedSharedLinkAccessLevelsDeserializer() {
1093
      super();
1✔
1094
      this.elementDeserializer =
1✔
1095
          new FileFullAllowedSharedLinkAccessLevelsField
1096
              .FileFullAllowedSharedLinkAccessLevelsFieldDeserializer();
1097
    }
1✔
1098

1099
    @Override
1100
    public List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>> deserialize(
1101
        JsonParser p, DeserializationContext ctxt) throws IOException {
UNCOV
1102
      JsonNode node = p.getCodec().readTree(p);
×
UNCOV
1103
      List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>> elements = new ArrayList<>();
×
UNCOV
1104
      for (JsonNode item : node) {
×
UNCOV
1105
        JsonParser pa = item.traverse(p.getCodec());
×
UNCOV
1106
        pa.nextToken();
×
UNCOV
1107
        elements.add(elementDeserializer.deserialize(pa, ctxt));
×
UNCOV
1108
      }
×
UNCOV
1109
      return elements;
×
1110
    }
1111
  }
1112

1113
  public static class AllowedSharedLinkAccessLevelsSerializer
1114
      extends JsonSerializer<List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>> {
1115

1116
    public final JsonSerializer<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>>
1117
        elementSerializer;
1118

1119
    public AllowedSharedLinkAccessLevelsSerializer() {
UNCOV
1120
      super();
×
UNCOV
1121
      this.elementSerializer =
×
1122
          new FileFullAllowedSharedLinkAccessLevelsField
1123
              .FileFullAllowedSharedLinkAccessLevelsFieldSerializer();
UNCOV
1124
    }
×
1125

1126
    @Override
1127
    public void serialize(
1128
        List<EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField>> value,
1129
        JsonGenerator gen,
1130
        SerializerProvider serializers)
1131
        throws IOException {
UNCOV
1132
      gen.writeStartArray();
×
UNCOV
1133
      for (EnumWrapper<FileFullAllowedSharedLinkAccessLevelsField> item : value) {
×
UNCOV
1134
        elementSerializer.serialize(item, gen, serializers);
×
UNCOV
1135
      }
×
UNCOV
1136
      gen.writeEndArray();
×
UNCOV
1137
    }
×
1138
  }
1139
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc