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

box / box-java-sdk-gen / #358

11 Jul 2025 04:43PM UTC coverage: 38.091% (+2.5%) from 35.58%
#358

Pull #361

github

web-flow
Merge 112b63b24 into 426763c84
Pull Request #361: feat: Support common fields in Union in Java (box/box-codegen#758)

288 of 1203 new or added lines in 106 files covered. (23.94%)

167 existing lines in 45 files now uncovered.

18543 of 48681 relevant lines covered (38.09%)

0.38 hits per line

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

7.83
/src/main/java/com/box/sdkgen/schemas/collaboration/Collaboration.java
1
package com.box.sdkgen.schemas.collaboration;
2

3
import com.box.sdkgen.internal.Nullable;
4
import com.box.sdkgen.internal.NullableFieldTracker;
5
import com.box.sdkgen.internal.SerializableObject;
6
import com.box.sdkgen.internal.utils.DateTimeUtils;
7
import com.box.sdkgen.schemas.appitem.AppItem;
8
import com.box.sdkgen.schemas.file.File;
9
import com.box.sdkgen.schemas.fileorfolderorweblink.FileOrFolderOrWebLink;
10
import com.box.sdkgen.schemas.folder.Folder;
11
import com.box.sdkgen.schemas.groupmini.GroupMini;
12
import com.box.sdkgen.schemas.groupminiorusercollaborations.GroupMiniOrUserCollaborations;
13
import com.box.sdkgen.schemas.usercollaborations.UserCollaborations;
14
import com.box.sdkgen.schemas.weblink.WebLink;
15
import com.box.sdkgen.serialization.json.EnumWrapper;
16
import com.fasterxml.jackson.annotation.JsonFilter;
17
import com.fasterxml.jackson.annotation.JsonProperty;
18
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
19
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
20
import java.util.Date;
21
import java.util.Objects;
22

23
@JsonFilter("nullablePropertyFilter")
24
public class Collaboration extends SerializableObject {
25

26
  protected final String id;
27

28
  @JsonDeserialize(using = CollaborationTypeField.CollaborationTypeFieldDeserializer.class)
29
  @JsonSerialize(using = CollaborationTypeField.CollaborationTypeFieldSerializer.class)
30
  protected EnumWrapper<CollaborationTypeField> type;
31

32
  @Nullable protected FileOrFolderOrWebLink item;
33

34
  @JsonProperty("app_item")
35
  @Nullable
36
  protected AppItem appItem;
37

38
  @JsonProperty("accessible_by")
39
  protected GroupMiniOrUserCollaborations accessibleBy;
40

41
  @JsonProperty("invite_email")
42
  @Nullable
43
  protected String inviteEmail;
44

45
  @JsonDeserialize(using = CollaborationRoleField.CollaborationRoleFieldDeserializer.class)
46
  @JsonSerialize(using = CollaborationRoleField.CollaborationRoleFieldSerializer.class)
47
  protected EnumWrapper<CollaborationRoleField> role;
48

49
  @JsonProperty("expires_at")
50
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
51
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
52
  @Nullable
53
  protected Date expiresAt;
54

55
  @JsonProperty("is_access_only")
56
  protected Boolean isAccessOnly;
57

58
  @JsonDeserialize(using = CollaborationStatusField.CollaborationStatusFieldDeserializer.class)
59
  @JsonSerialize(using = CollaborationStatusField.CollaborationStatusFieldSerializer.class)
60
  protected EnumWrapper<CollaborationStatusField> status;
61

62
  @JsonProperty("acknowledged_at")
63
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
64
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
65
  protected Date acknowledgedAt;
66

67
  @JsonProperty("created_by")
68
  protected UserCollaborations createdBy;
69

70
  @JsonProperty("created_at")
71
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
72
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
73
  protected Date createdAt;
74

75
  @JsonProperty("modified_at")
76
  @JsonSerialize(using = DateTimeUtils.DateTimeSerializer.class)
77
  @JsonDeserialize(using = DateTimeUtils.DateTimeDeserializer.class)
78
  protected Date modifiedAt;
79

80
  @JsonProperty("acceptance_requirements_status")
81
  protected CollaborationAcceptanceRequirementsStatusField acceptanceRequirementsStatus;
82

83
  public Collaboration(@JsonProperty("id") String id) {
84
    super();
1✔
85
    this.id = id;
1✔
86
    this.type = new EnumWrapper<CollaborationTypeField>(CollaborationTypeField.COLLABORATION);
1✔
87
  }
1✔
88

89
  protected Collaboration(Builder builder) {
90
    super();
×
91
    this.id = builder.id;
×
92
    this.type = builder.type;
×
93
    this.item = builder.item;
×
94
    this.appItem = builder.appItem;
×
95
    this.accessibleBy = builder.accessibleBy;
×
96
    this.inviteEmail = builder.inviteEmail;
×
97
    this.role = builder.role;
×
98
    this.expiresAt = builder.expiresAt;
×
99
    this.isAccessOnly = builder.isAccessOnly;
×
100
    this.status = builder.status;
×
101
    this.acknowledgedAt = builder.acknowledgedAt;
×
102
    this.createdBy = builder.createdBy;
×
103
    this.createdAt = builder.createdAt;
×
104
    this.modifiedAt = builder.modifiedAt;
×
105
    this.acceptanceRequirementsStatus = builder.acceptanceRequirementsStatus;
×
106
    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
×
107
  }
×
108

109
  public String getId() {
110
    return id;
1✔
111
  }
112

113
  public EnumWrapper<CollaborationTypeField> getType() {
114
    return type;
1✔
115
  }
116

117
  public FileOrFolderOrWebLink getItem() {
118
    return item;
×
119
  }
120

121
  public AppItem getAppItem() {
122
    return appItem;
×
123
  }
124

125
  public GroupMiniOrUserCollaborations getAccessibleBy() {
126
    return accessibleBy;
×
127
  }
128

129
  public String getInviteEmail() {
130
    return inviteEmail;
1✔
131
  }
132

133
  public EnumWrapper<CollaborationRoleField> getRole() {
134
    return role;
1✔
135
  }
136

137
  public Date getExpiresAt() {
138
    return expiresAt;
×
139
  }
140

141
  public Boolean getIsAccessOnly() {
142
    return isAccessOnly;
×
143
  }
144

145
  public EnumWrapper<CollaborationStatusField> getStatus() {
146
    return status;
1✔
147
  }
148

149
  public Date getAcknowledgedAt() {
150
    return acknowledgedAt;
×
151
  }
152

153
  public UserCollaborations getCreatedBy() {
154
    return createdBy;
×
155
  }
156

157
  public Date getCreatedAt() {
158
    return createdAt;
×
159
  }
160

161
  public Date getModifiedAt() {
162
    return modifiedAt;
×
163
  }
164

165
  public CollaborationAcceptanceRequirementsStatusField getAcceptanceRequirementsStatus() {
166
    return acceptanceRequirementsStatus;
×
167
  }
168

169
  @Override
170
  public boolean equals(Object o) {
171
    if (this == o) {
×
172
      return true;
×
173
    }
174
    if (o == null || getClass() != o.getClass()) {
×
175
      return false;
×
176
    }
177
    Collaboration casted = (Collaboration) o;
×
178
    return Objects.equals(id, casted.id)
×
179
        && Objects.equals(type, casted.type)
×
180
        && Objects.equals(item, casted.item)
×
181
        && Objects.equals(appItem, casted.appItem)
×
182
        && Objects.equals(accessibleBy, casted.accessibleBy)
×
183
        && Objects.equals(inviteEmail, casted.inviteEmail)
×
184
        && Objects.equals(role, casted.role)
×
185
        && Objects.equals(expiresAt, casted.expiresAt)
×
186
        && Objects.equals(isAccessOnly, casted.isAccessOnly)
×
187
        && Objects.equals(status, casted.status)
×
188
        && Objects.equals(acknowledgedAt, casted.acknowledgedAt)
×
189
        && Objects.equals(createdBy, casted.createdBy)
×
190
        && Objects.equals(createdAt, casted.createdAt)
×
191
        && Objects.equals(modifiedAt, casted.modifiedAt)
×
192
        && Objects.equals(acceptanceRequirementsStatus, casted.acceptanceRequirementsStatus);
×
193
  }
194

195
  @Override
196
  public int hashCode() {
197
    return Objects.hash(
×
198
        id,
199
        type,
200
        item,
201
        appItem,
202
        accessibleBy,
203
        inviteEmail,
204
        role,
205
        expiresAt,
206
        isAccessOnly,
207
        status,
208
        acknowledgedAt,
209
        createdBy,
210
        createdAt,
211
        modifiedAt,
212
        acceptanceRequirementsStatus);
213
  }
214

215
  @Override
216
  public String toString() {
217
    return "Collaboration{"
×
218
        + "id='"
219
        + id
220
        + '\''
221
        + ", "
222
        + "type='"
223
        + type
224
        + '\''
225
        + ", "
226
        + "item='"
227
        + item
228
        + '\''
229
        + ", "
230
        + "appItem='"
231
        + appItem
232
        + '\''
233
        + ", "
234
        + "accessibleBy='"
235
        + accessibleBy
236
        + '\''
237
        + ", "
238
        + "inviteEmail='"
239
        + inviteEmail
240
        + '\''
241
        + ", "
242
        + "role='"
243
        + role
244
        + '\''
245
        + ", "
246
        + "expiresAt='"
247
        + expiresAt
248
        + '\''
249
        + ", "
250
        + "isAccessOnly='"
251
        + isAccessOnly
252
        + '\''
253
        + ", "
254
        + "status='"
255
        + status
256
        + '\''
257
        + ", "
258
        + "acknowledgedAt='"
259
        + acknowledgedAt
260
        + '\''
261
        + ", "
262
        + "createdBy='"
263
        + createdBy
264
        + '\''
265
        + ", "
266
        + "createdAt='"
267
        + createdAt
268
        + '\''
269
        + ", "
270
        + "modifiedAt='"
271
        + modifiedAt
272
        + '\''
273
        + ", "
274
        + "acceptanceRequirementsStatus='"
275
        + acceptanceRequirementsStatus
276
        + '\''
277
        + "}";
278
  }
279

280
  public static class Builder extends NullableFieldTracker {
281

282
    protected final String id;
283

284
    protected EnumWrapper<CollaborationTypeField> type;
285

286
    protected FileOrFolderOrWebLink item;
287

288
    protected AppItem appItem;
289

290
    protected GroupMiniOrUserCollaborations accessibleBy;
291

292
    protected String inviteEmail;
293

294
    protected EnumWrapper<CollaborationRoleField> role;
295

296
    protected Date expiresAt;
297

298
    protected Boolean isAccessOnly;
299

300
    protected EnumWrapper<CollaborationStatusField> status;
301

302
    protected Date acknowledgedAt;
303

304
    protected UserCollaborations createdBy;
305

306
    protected Date createdAt;
307

308
    protected Date modifiedAt;
309

310
    protected CollaborationAcceptanceRequirementsStatusField acceptanceRequirementsStatus;
311

312
    public Builder(String id) {
313
      super();
×
314
      this.id = id;
×
315
      this.type = new EnumWrapper<CollaborationTypeField>(CollaborationTypeField.COLLABORATION);
×
316
    }
×
317

318
    public Builder type(CollaborationTypeField type) {
319
      this.type = new EnumWrapper<CollaborationTypeField>(type);
×
320
      return this;
×
321
    }
322

323
    public Builder type(EnumWrapper<CollaborationTypeField> type) {
324
      this.type = type;
×
325
      return this;
×
326
    }
327

328
    public Builder item(File item) {
NEW
329
      this.item = new FileOrFolderOrWebLink(item);
×
NEW
330
      this.markNullableFieldAsSet("item");
×
NEW
331
      return this;
×
332
    }
333

334
    public Builder item(Folder item) {
NEW
335
      this.item = new FileOrFolderOrWebLink(item);
×
NEW
336
      this.markNullableFieldAsSet("item");
×
NEW
337
      return this;
×
338
    }
339

340
    public Builder item(WebLink item) {
NEW
341
      this.item = new FileOrFolderOrWebLink(item);
×
NEW
342
      this.markNullableFieldAsSet("item");
×
NEW
343
      return this;
×
344
    }
345

346
    public Builder item(FileOrFolderOrWebLink item) {
347
      this.item = item;
×
348
      this.markNullableFieldAsSet("item");
×
349
      return this;
×
350
    }
351

352
    public Builder appItem(AppItem appItem) {
353
      this.appItem = appItem;
×
354
      this.markNullableFieldAsSet("app_item");
×
355
      return this;
×
356
    }
357

358
    public Builder accessibleBy(GroupMini accessibleBy) {
NEW
359
      this.accessibleBy = new GroupMiniOrUserCollaborations(accessibleBy);
×
NEW
360
      return this;
×
361
    }
362

363
    public Builder accessibleBy(UserCollaborations accessibleBy) {
NEW
364
      this.accessibleBy = new GroupMiniOrUserCollaborations(accessibleBy);
×
NEW
365
      return this;
×
366
    }
367

368
    public Builder accessibleBy(GroupMiniOrUserCollaborations accessibleBy) {
369
      this.accessibleBy = accessibleBy;
×
370
      return this;
×
371
    }
372

373
    public Builder inviteEmail(String inviteEmail) {
374
      this.inviteEmail = inviteEmail;
×
375
      this.markNullableFieldAsSet("invite_email");
×
376
      return this;
×
377
    }
378

379
    public Builder role(CollaborationRoleField role) {
380
      this.role = new EnumWrapper<CollaborationRoleField>(role);
×
381
      return this;
×
382
    }
383

384
    public Builder role(EnumWrapper<CollaborationRoleField> role) {
385
      this.role = role;
×
386
      return this;
×
387
    }
388

389
    public Builder expiresAt(Date expiresAt) {
390
      this.expiresAt = expiresAt;
×
391
      this.markNullableFieldAsSet("expires_at");
×
392
      return this;
×
393
    }
394

395
    public Builder isAccessOnly(Boolean isAccessOnly) {
396
      this.isAccessOnly = isAccessOnly;
×
397
      return this;
×
398
    }
399

400
    public Builder status(CollaborationStatusField status) {
401
      this.status = new EnumWrapper<CollaborationStatusField>(status);
×
402
      return this;
×
403
    }
404

405
    public Builder status(EnumWrapper<CollaborationStatusField> status) {
406
      this.status = status;
×
407
      return this;
×
408
    }
409

410
    public Builder acknowledgedAt(Date acknowledgedAt) {
411
      this.acknowledgedAt = acknowledgedAt;
×
412
      return this;
×
413
    }
414

415
    public Builder createdBy(UserCollaborations createdBy) {
416
      this.createdBy = createdBy;
×
417
      return this;
×
418
    }
419

420
    public Builder createdAt(Date createdAt) {
421
      this.createdAt = createdAt;
×
422
      return this;
×
423
    }
424

425
    public Builder modifiedAt(Date modifiedAt) {
426
      this.modifiedAt = modifiedAt;
×
427
      return this;
×
428
    }
429

430
    public Builder acceptanceRequirementsStatus(
431
        CollaborationAcceptanceRequirementsStatusField acceptanceRequirementsStatus) {
432
      this.acceptanceRequirementsStatus = acceptanceRequirementsStatus;
×
433
      return this;
×
434
    }
435

436
    public Collaboration build() {
437
      return new Collaboration(this);
×
438
    }
439
  }
440
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc