001package com.box.sdkgen.client;
002
003import static com.box.sdkgen.internal.utils.UtilsManager.entryOf;
004import static com.box.sdkgen.internal.utils.UtilsManager.mapOf;
005
006import com.box.sdkgen.managers.ai.AiManager;
007import com.box.sdkgen.managers.aistudio.AiStudioManager;
008import com.box.sdkgen.managers.appitemassociations.AppItemAssociationsManager;
009import com.box.sdkgen.managers.archives.ArchivesManager;
010import com.box.sdkgen.managers.authorization.AuthorizationManager;
011import com.box.sdkgen.managers.automateworkflows.AutomateWorkflowsManager;
012import com.box.sdkgen.managers.avatars.AvatarsManager;
013import com.box.sdkgen.managers.chunkeduploads.ChunkedUploadsManager;
014import com.box.sdkgen.managers.classifications.ClassificationsManager;
015import com.box.sdkgen.managers.collaborationallowlistentries.CollaborationAllowlistEntriesManager;
016import com.box.sdkgen.managers.collaborationallowlistexempttargets.CollaborationAllowlistExemptTargetsManager;
017import com.box.sdkgen.managers.collections.CollectionsManager;
018import com.box.sdkgen.managers.comments.CommentsManager;
019import com.box.sdkgen.managers.devicepinners.DevicePinnersManager;
020import com.box.sdkgen.managers.docgen.DocgenManager;
021import com.box.sdkgen.managers.docgentemplate.DocgenTemplateManager;
022import com.box.sdkgen.managers.downloads.DownloadsManager;
023import com.box.sdkgen.managers.emailaliases.EmailAliasesManager;
024import com.box.sdkgen.managers.enterpriseconfigurations.EnterpriseConfigurationsManager;
025import com.box.sdkgen.managers.events.EventsManager;
026import com.box.sdkgen.managers.externalusers.ExternalUsersManager;
027import com.box.sdkgen.managers.fileclassifications.FileClassificationsManager;
028import com.box.sdkgen.managers.filemetadata.FileMetadataManager;
029import com.box.sdkgen.managers.filerequests.FileRequestsManager;
030import com.box.sdkgen.managers.files.FilesManager;
031import com.box.sdkgen.managers.fileversionlegalholds.FileVersionLegalHoldsManager;
032import com.box.sdkgen.managers.fileversionretentions.FileVersionRetentionsManager;
033import com.box.sdkgen.managers.fileversions.FileVersionsManager;
034import com.box.sdkgen.managers.filewatermarks.FileWatermarksManager;
035import com.box.sdkgen.managers.folderclassifications.FolderClassificationsManager;
036import com.box.sdkgen.managers.folderlocks.FolderLocksManager;
037import com.box.sdkgen.managers.foldermetadata.FolderMetadataManager;
038import com.box.sdkgen.managers.folders.FoldersManager;
039import com.box.sdkgen.managers.folderwatermarks.FolderWatermarksManager;
040import com.box.sdkgen.managers.groups.GroupsManager;
041import com.box.sdkgen.managers.hubcollaborations.HubCollaborationsManager;
042import com.box.sdkgen.managers.hubdocument.HubDocumentManager;
043import com.box.sdkgen.managers.hubitems.HubItemsManager;
044import com.box.sdkgen.managers.hubs.HubsManager;
045import com.box.sdkgen.managers.integrationmappings.IntegrationMappingsManager;
046import com.box.sdkgen.managers.invites.InvitesManager;
047import com.box.sdkgen.managers.legalholdpolicies.LegalHoldPoliciesManager;
048import com.box.sdkgen.managers.legalholdpolicyassignments.LegalHoldPolicyAssignmentsManager;
049import com.box.sdkgen.managers.listcollaborations.ListCollaborationsManager;
050import com.box.sdkgen.managers.memberships.MembershipsManager;
051import com.box.sdkgen.managers.metadatacascadepolicies.MetadataCascadePoliciesManager;
052import com.box.sdkgen.managers.metadatataxonomies.MetadataTaxonomiesManager;
053import com.box.sdkgen.managers.metadatatemplates.MetadataTemplatesManager;
054import com.box.sdkgen.managers.notes.NotesManager;
055import com.box.sdkgen.managers.query.QueryManager;
056import com.box.sdkgen.managers.recentitems.RecentItemsManager;
057import com.box.sdkgen.managers.retentionpolicies.RetentionPoliciesManager;
058import com.box.sdkgen.managers.retentionpolicyassignments.RetentionPolicyAssignmentsManager;
059import com.box.sdkgen.managers.search.SearchManager;
060import com.box.sdkgen.managers.sessiontermination.SessionTerminationManager;
061import com.box.sdkgen.managers.sharedlinksappitems.SharedLinksAppItemsManager;
062import com.box.sdkgen.managers.sharedlinksfiles.SharedLinksFilesManager;
063import com.box.sdkgen.managers.sharedlinksfolders.SharedLinksFoldersManager;
064import com.box.sdkgen.managers.sharedlinksweblinks.SharedLinksWebLinksManager;
065import com.box.sdkgen.managers.shieldinformationbarrierreports.ShieldInformationBarrierReportsManager;
066import com.box.sdkgen.managers.shieldinformationbarriers.ShieldInformationBarriersManager;
067import com.box.sdkgen.managers.shieldinformationbarriersegmentmembers.ShieldInformationBarrierSegmentMembersManager;
068import com.box.sdkgen.managers.shieldinformationbarriersegmentrestrictions.ShieldInformationBarrierSegmentRestrictionsManager;
069import com.box.sdkgen.managers.shieldinformationbarriersegments.ShieldInformationBarrierSegmentsManager;
070import com.box.sdkgen.managers.shieldlists.ShieldListsManager;
071import com.box.sdkgen.managers.signrequests.SignRequestsManager;
072import com.box.sdkgen.managers.signtemplates.SignTemplatesManager;
073import com.box.sdkgen.managers.skills.SkillsManager;
074import com.box.sdkgen.managers.storagepolicies.StoragePoliciesManager;
075import com.box.sdkgen.managers.storagepolicyassignments.StoragePolicyAssignmentsManager;
076import com.box.sdkgen.managers.taskassignments.TaskAssignmentsManager;
077import com.box.sdkgen.managers.tasks.TasksManager;
078import com.box.sdkgen.managers.termsofservices.TermsOfServicesManager;
079import com.box.sdkgen.managers.termsofserviceuserstatuses.TermsOfServiceUserStatusesManager;
080import com.box.sdkgen.managers.transfer.TransferManager;
081import com.box.sdkgen.managers.trashedfiles.TrashedFilesManager;
082import com.box.sdkgen.managers.trashedfolders.TrashedFoldersManager;
083import com.box.sdkgen.managers.trasheditems.TrashedItemsManager;
084import com.box.sdkgen.managers.trashedweblinks.TrashedWebLinksManager;
085import com.box.sdkgen.managers.uploads.UploadsManager;
086import com.box.sdkgen.managers.usercollaborations.UserCollaborationsManager;
087import com.box.sdkgen.managers.users.UsersManager;
088import com.box.sdkgen.managers.webhooks.WebhooksManager;
089import com.box.sdkgen.managers.weblinks.WebLinksManager;
090import com.box.sdkgen.managers.workflows.WorkflowsManager;
091import com.box.sdkgen.managers.zipdownloads.ZipDownloadsManager;
092import com.box.sdkgen.networking.auth.Authentication;
093import com.box.sdkgen.networking.baseurls.BaseUrls;
094import com.box.sdkgen.networking.fetchoptions.FetchOptions;
095import com.box.sdkgen.networking.fetchresponse.FetchResponse;
096import com.box.sdkgen.networking.interceptors.Interceptor;
097import com.box.sdkgen.networking.network.NetworkSession;
098import com.box.sdkgen.networking.proxyconfig.ProxyConfig;
099import com.box.sdkgen.networking.timeoutconfig.TimeoutConfig;
100import java.util.List;
101import java.util.Map;
102
103public class BoxClient {
104
105  public final Authentication auth;
106
107  public NetworkSession networkSession;
108
109  public final AuthorizationManager authorization;
110
111  public final FilesManager files;
112
113  public final TrashedFilesManager trashedFiles;
114
115  public final AppItemAssociationsManager appItemAssociations;
116
117  public final DownloadsManager downloads;
118
119  public final UploadsManager uploads;
120
121  public final ChunkedUploadsManager chunkedUploads;
122
123  public final ListCollaborationsManager listCollaborations;
124
125  public final CommentsManager comments;
126
127  public final TasksManager tasks;
128
129  public final FileVersionsManager fileVersions;
130
131  public final FileMetadataManager fileMetadata;
132
133  public final FileClassificationsManager fileClassifications;
134
135  public final SkillsManager skills;
136
137  public final FileWatermarksManager fileWatermarks;
138
139  public final FileRequestsManager fileRequests;
140
141  public final FoldersManager folders;
142
143  public final TrashedFoldersManager trashedFolders;
144
145  public final FolderMetadataManager folderMetadata;
146
147  public final FolderClassificationsManager folderClassifications;
148
149  public final TrashedItemsManager trashedItems;
150
151  public final FolderWatermarksManager folderWatermarks;
152
153  public final FolderLocksManager folderLocks;
154
155  public final MetadataTemplatesManager metadataTemplates;
156
157  public final ClassificationsManager classifications;
158
159  public final MetadataCascadePoliciesManager metadataCascadePolicies;
160
161  public final SearchManager search;
162
163  public final UserCollaborationsManager userCollaborations;
164
165  public final TaskAssignmentsManager taskAssignments;
166
167  public final SharedLinksFilesManager sharedLinksFiles;
168
169  public final SharedLinksFoldersManager sharedLinksFolders;
170
171  public final WebLinksManager webLinks;
172
173  public final TrashedWebLinksManager trashedWebLinks;
174
175  public final SharedLinksWebLinksManager sharedLinksWebLinks;
176
177  public final SharedLinksAppItemsManager sharedLinksAppItems;
178
179  public final UsersManager users;
180
181  public final SessionTerminationManager sessionTermination;
182
183  public final AvatarsManager avatars;
184
185  public final TransferManager transfer;
186
187  public final EmailAliasesManager emailAliases;
188
189  public final MembershipsManager memberships;
190
191  public final InvitesManager invites;
192
193  public final GroupsManager groups;
194
195  public final WebhooksManager webhooks;
196
197  public final EventsManager events;
198
199  public final CollectionsManager collections;
200
201  public final RecentItemsManager recentItems;
202
203  public final RetentionPoliciesManager retentionPolicies;
204
205  public final RetentionPolicyAssignmentsManager retentionPolicyAssignments;
206
207  public final LegalHoldPoliciesManager legalHoldPolicies;
208
209  public final LegalHoldPolicyAssignmentsManager legalHoldPolicyAssignments;
210
211  public final FileVersionRetentionsManager fileVersionRetentions;
212
213  public final FileVersionLegalHoldsManager fileVersionLegalHolds;
214
215  public final ShieldInformationBarriersManager shieldInformationBarriers;
216
217  public final ShieldInformationBarrierReportsManager shieldInformationBarrierReports;
218
219  public final ShieldInformationBarrierSegmentsManager shieldInformationBarrierSegments;
220
221  public final ShieldInformationBarrierSegmentMembersManager shieldInformationBarrierSegmentMembers;
222
223  public final ShieldInformationBarrierSegmentRestrictionsManager
224      shieldInformationBarrierSegmentRestrictions;
225
226  public final DevicePinnersManager devicePinners;
227
228  public final TermsOfServicesManager termsOfServices;
229
230  public final TermsOfServiceUserStatusesManager termsOfServiceUserStatuses;
231
232  public final CollaborationAllowlistEntriesManager collaborationAllowlistEntries;
233
234  public final CollaborationAllowlistExemptTargetsManager collaborationAllowlistExemptTargets;
235
236  public final StoragePoliciesManager storagePolicies;
237
238  public final StoragePolicyAssignmentsManager storagePolicyAssignments;
239
240  public final ZipDownloadsManager zipDownloads;
241
242  public final SignRequestsManager signRequests;
243
244  public final WorkflowsManager workflows;
245
246  public final SignTemplatesManager signTemplates;
247
248  public final IntegrationMappingsManager integrationMappings;
249
250  public final AiManager ai;
251
252  public final AiStudioManager aiStudio;
253
254  public final MetadataTaxonomiesManager metadataTaxonomies;
255
256  public final DocgenTemplateManager docgenTemplate;
257
258  public final DocgenManager docgen;
259
260  public final EnterpriseConfigurationsManager enterpriseConfigurations;
261
262  public final HubsManager hubs;
263
264  public final HubCollaborationsManager hubCollaborations;
265
266  public final HubItemsManager hubItems;
267
268  public final HubDocumentManager hubDocument;
269
270  public final ShieldListsManager shieldLists;
271
272  public final ArchivesManager archives;
273
274  public final ExternalUsersManager externalUsers;
275
276  public final AutomateWorkflowsManager automateWorkflows;
277
278  public final NotesManager notes;
279
280  public final QueryManager query;
281
282  public BoxClient(Authentication auth) {
283    this.auth = auth;
284    this.networkSession = new NetworkSession.Builder().baseUrls(new BaseUrls()).build();
285    this.authorization =
286        new AuthorizationManager.Builder()
287            .auth(this.auth)
288            .networkSession(this.networkSession)
289            .build();
290    this.files =
291        new FilesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
292    this.trashedFiles =
293        new TrashedFilesManager.Builder()
294            .auth(this.auth)
295            .networkSession(this.networkSession)
296            .build();
297    this.appItemAssociations =
298        new AppItemAssociationsManager.Builder()
299            .auth(this.auth)
300            .networkSession(this.networkSession)
301            .build();
302    this.downloads =
303        new DownloadsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
304    this.uploads =
305        new UploadsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
306    this.chunkedUploads =
307        new ChunkedUploadsManager.Builder()
308            .auth(this.auth)
309            .networkSession(this.networkSession)
310            .build();
311    this.listCollaborations =
312        new ListCollaborationsManager.Builder()
313            .auth(this.auth)
314            .networkSession(this.networkSession)
315            .build();
316    this.comments =
317        new CommentsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
318    this.tasks =
319        new TasksManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
320    this.fileVersions =
321        new FileVersionsManager.Builder()
322            .auth(this.auth)
323            .networkSession(this.networkSession)
324            .build();
325    this.fileMetadata =
326        new FileMetadataManager.Builder()
327            .auth(this.auth)
328            .networkSession(this.networkSession)
329            .build();
330    this.fileClassifications =
331        new FileClassificationsManager.Builder()
332            .auth(this.auth)
333            .networkSession(this.networkSession)
334            .build();
335    this.skills =
336        new SkillsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
337    this.fileWatermarks =
338        new FileWatermarksManager.Builder()
339            .auth(this.auth)
340            .networkSession(this.networkSession)
341            .build();
342    this.fileRequests =
343        new FileRequestsManager.Builder()
344            .auth(this.auth)
345            .networkSession(this.networkSession)
346            .build();
347    this.folders =
348        new FoldersManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
349    this.trashedFolders =
350        new TrashedFoldersManager.Builder()
351            .auth(this.auth)
352            .networkSession(this.networkSession)
353            .build();
354    this.folderMetadata =
355        new FolderMetadataManager.Builder()
356            .auth(this.auth)
357            .networkSession(this.networkSession)
358            .build();
359    this.folderClassifications =
360        new FolderClassificationsManager.Builder()
361            .auth(this.auth)
362            .networkSession(this.networkSession)
363            .build();
364    this.trashedItems =
365        new TrashedItemsManager.Builder()
366            .auth(this.auth)
367            .networkSession(this.networkSession)
368            .build();
369    this.folderWatermarks =
370        new FolderWatermarksManager.Builder()
371            .auth(this.auth)
372            .networkSession(this.networkSession)
373            .build();
374    this.folderLocks =
375        new FolderLocksManager.Builder()
376            .auth(this.auth)
377            .networkSession(this.networkSession)
378            .build();
379    this.metadataTemplates =
380        new MetadataTemplatesManager.Builder()
381            .auth(this.auth)
382            .networkSession(this.networkSession)
383            .build();
384    this.classifications =
385        new ClassificationsManager.Builder()
386            .auth(this.auth)
387            .networkSession(this.networkSession)
388            .build();
389    this.metadataCascadePolicies =
390        new MetadataCascadePoliciesManager.Builder()
391            .auth(this.auth)
392            .networkSession(this.networkSession)
393            .build();
394    this.search =
395        new SearchManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
396    this.userCollaborations =
397        new UserCollaborationsManager.Builder()
398            .auth(this.auth)
399            .networkSession(this.networkSession)
400            .build();
401    this.taskAssignments =
402        new TaskAssignmentsManager.Builder()
403            .auth(this.auth)
404            .networkSession(this.networkSession)
405            .build();
406    this.sharedLinksFiles =
407        new SharedLinksFilesManager.Builder()
408            .auth(this.auth)
409            .networkSession(this.networkSession)
410            .build();
411    this.sharedLinksFolders =
412        new SharedLinksFoldersManager.Builder()
413            .auth(this.auth)
414            .networkSession(this.networkSession)
415            .build();
416    this.webLinks =
417        new WebLinksManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
418    this.trashedWebLinks =
419        new TrashedWebLinksManager.Builder()
420            .auth(this.auth)
421            .networkSession(this.networkSession)
422            .build();
423    this.sharedLinksWebLinks =
424        new SharedLinksWebLinksManager.Builder()
425            .auth(this.auth)
426            .networkSession(this.networkSession)
427            .build();
428    this.sharedLinksAppItems =
429        new SharedLinksAppItemsManager.Builder()
430            .auth(this.auth)
431            .networkSession(this.networkSession)
432            .build();
433    this.users =
434        new UsersManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
435    this.sessionTermination =
436        new SessionTerminationManager.Builder()
437            .auth(this.auth)
438            .networkSession(this.networkSession)
439            .build();
440    this.avatars =
441        new AvatarsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
442    this.transfer =
443        new TransferManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
444    this.emailAliases =
445        new EmailAliasesManager.Builder()
446            .auth(this.auth)
447            .networkSession(this.networkSession)
448            .build();
449    this.memberships =
450        new MembershipsManager.Builder()
451            .auth(this.auth)
452            .networkSession(this.networkSession)
453            .build();
454    this.invites =
455        new InvitesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
456    this.groups =
457        new GroupsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
458    this.webhooks =
459        new WebhooksManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
460    this.events =
461        new EventsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
462    this.collections =
463        new CollectionsManager.Builder()
464            .auth(this.auth)
465            .networkSession(this.networkSession)
466            .build();
467    this.recentItems =
468        new RecentItemsManager.Builder()
469            .auth(this.auth)
470            .networkSession(this.networkSession)
471            .build();
472    this.retentionPolicies =
473        new RetentionPoliciesManager.Builder()
474            .auth(this.auth)
475            .networkSession(this.networkSession)
476            .build();
477    this.retentionPolicyAssignments =
478        new RetentionPolicyAssignmentsManager.Builder()
479            .auth(this.auth)
480            .networkSession(this.networkSession)
481            .build();
482    this.legalHoldPolicies =
483        new LegalHoldPoliciesManager.Builder()
484            .auth(this.auth)
485            .networkSession(this.networkSession)
486            .build();
487    this.legalHoldPolicyAssignments =
488        new LegalHoldPolicyAssignmentsManager.Builder()
489            .auth(this.auth)
490            .networkSession(this.networkSession)
491            .build();
492    this.fileVersionRetentions =
493        new FileVersionRetentionsManager.Builder()
494            .auth(this.auth)
495            .networkSession(this.networkSession)
496            .build();
497    this.fileVersionLegalHolds =
498        new FileVersionLegalHoldsManager.Builder()
499            .auth(this.auth)
500            .networkSession(this.networkSession)
501            .build();
502    this.shieldInformationBarriers =
503        new ShieldInformationBarriersManager.Builder()
504            .auth(this.auth)
505            .networkSession(this.networkSession)
506            .build();
507    this.shieldInformationBarrierReports =
508        new ShieldInformationBarrierReportsManager.Builder()
509            .auth(this.auth)
510            .networkSession(this.networkSession)
511            .build();
512    this.shieldInformationBarrierSegments =
513        new ShieldInformationBarrierSegmentsManager.Builder()
514            .auth(this.auth)
515            .networkSession(this.networkSession)
516            .build();
517    this.shieldInformationBarrierSegmentMembers =
518        new ShieldInformationBarrierSegmentMembersManager.Builder()
519            .auth(this.auth)
520            .networkSession(this.networkSession)
521            .build();
522    this.shieldInformationBarrierSegmentRestrictions =
523        new ShieldInformationBarrierSegmentRestrictionsManager.Builder()
524            .auth(this.auth)
525            .networkSession(this.networkSession)
526            .build();
527    this.devicePinners =
528        new DevicePinnersManager.Builder()
529            .auth(this.auth)
530            .networkSession(this.networkSession)
531            .build();
532    this.termsOfServices =
533        new TermsOfServicesManager.Builder()
534            .auth(this.auth)
535            .networkSession(this.networkSession)
536            .build();
537    this.termsOfServiceUserStatuses =
538        new TermsOfServiceUserStatusesManager.Builder()
539            .auth(this.auth)
540            .networkSession(this.networkSession)
541            .build();
542    this.collaborationAllowlistEntries =
543        new CollaborationAllowlistEntriesManager.Builder()
544            .auth(this.auth)
545            .networkSession(this.networkSession)
546            .build();
547    this.collaborationAllowlistExemptTargets =
548        new CollaborationAllowlistExemptTargetsManager.Builder()
549            .auth(this.auth)
550            .networkSession(this.networkSession)
551            .build();
552    this.storagePolicies =
553        new StoragePoliciesManager.Builder()
554            .auth(this.auth)
555            .networkSession(this.networkSession)
556            .build();
557    this.storagePolicyAssignments =
558        new StoragePolicyAssignmentsManager.Builder()
559            .auth(this.auth)
560            .networkSession(this.networkSession)
561            .build();
562    this.zipDownloads =
563        new ZipDownloadsManager.Builder()
564            .auth(this.auth)
565            .networkSession(this.networkSession)
566            .build();
567    this.signRequests =
568        new SignRequestsManager.Builder()
569            .auth(this.auth)
570            .networkSession(this.networkSession)
571            .build();
572    this.workflows =
573        new WorkflowsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
574    this.signTemplates =
575        new SignTemplatesManager.Builder()
576            .auth(this.auth)
577            .networkSession(this.networkSession)
578            .build();
579    this.integrationMappings =
580        new IntegrationMappingsManager.Builder()
581            .auth(this.auth)
582            .networkSession(this.networkSession)
583            .build();
584    this.ai = new AiManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
585    this.aiStudio =
586        new AiStudioManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
587    this.metadataTaxonomies =
588        new MetadataTaxonomiesManager.Builder()
589            .auth(this.auth)
590            .networkSession(this.networkSession)
591            .build();
592    this.docgenTemplate =
593        new DocgenTemplateManager.Builder()
594            .auth(this.auth)
595            .networkSession(this.networkSession)
596            .build();
597    this.docgen =
598        new DocgenManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
599    this.enterpriseConfigurations =
600        new EnterpriseConfigurationsManager.Builder()
601            .auth(this.auth)
602            .networkSession(this.networkSession)
603            .build();
604    this.hubs =
605        new HubsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
606    this.hubCollaborations =
607        new HubCollaborationsManager.Builder()
608            .auth(this.auth)
609            .networkSession(this.networkSession)
610            .build();
611    this.hubItems =
612        new HubItemsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
613    this.hubDocument =
614        new HubDocumentManager.Builder()
615            .auth(this.auth)
616            .networkSession(this.networkSession)
617            .build();
618    this.shieldLists =
619        new ShieldListsManager.Builder()
620            .auth(this.auth)
621            .networkSession(this.networkSession)
622            .build();
623    this.archives =
624        new ArchivesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
625    this.externalUsers =
626        new ExternalUsersManager.Builder()
627            .auth(this.auth)
628            .networkSession(this.networkSession)
629            .build();
630    this.automateWorkflows =
631        new AutomateWorkflowsManager.Builder()
632            .auth(this.auth)
633            .networkSession(this.networkSession)
634            .build();
635    this.notes =
636        new NotesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
637    this.query =
638        new QueryManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
639  }
640
641  protected BoxClient(Builder builder) {
642    this.auth = builder.auth;
643    this.networkSession = builder.networkSession;
644    this.authorization =
645        new AuthorizationManager.Builder()
646            .auth(this.auth)
647            .networkSession(this.networkSession)
648            .build();
649    this.files =
650        new FilesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
651    this.trashedFiles =
652        new TrashedFilesManager.Builder()
653            .auth(this.auth)
654            .networkSession(this.networkSession)
655            .build();
656    this.appItemAssociations =
657        new AppItemAssociationsManager.Builder()
658            .auth(this.auth)
659            .networkSession(this.networkSession)
660            .build();
661    this.downloads =
662        new DownloadsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
663    this.uploads =
664        new UploadsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
665    this.chunkedUploads =
666        new ChunkedUploadsManager.Builder()
667            .auth(this.auth)
668            .networkSession(this.networkSession)
669            .build();
670    this.listCollaborations =
671        new ListCollaborationsManager.Builder()
672            .auth(this.auth)
673            .networkSession(this.networkSession)
674            .build();
675    this.comments =
676        new CommentsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
677    this.tasks =
678        new TasksManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
679    this.fileVersions =
680        new FileVersionsManager.Builder()
681            .auth(this.auth)
682            .networkSession(this.networkSession)
683            .build();
684    this.fileMetadata =
685        new FileMetadataManager.Builder()
686            .auth(this.auth)
687            .networkSession(this.networkSession)
688            .build();
689    this.fileClassifications =
690        new FileClassificationsManager.Builder()
691            .auth(this.auth)
692            .networkSession(this.networkSession)
693            .build();
694    this.skills =
695        new SkillsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
696    this.fileWatermarks =
697        new FileWatermarksManager.Builder()
698            .auth(this.auth)
699            .networkSession(this.networkSession)
700            .build();
701    this.fileRequests =
702        new FileRequestsManager.Builder()
703            .auth(this.auth)
704            .networkSession(this.networkSession)
705            .build();
706    this.folders =
707        new FoldersManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
708    this.trashedFolders =
709        new TrashedFoldersManager.Builder()
710            .auth(this.auth)
711            .networkSession(this.networkSession)
712            .build();
713    this.folderMetadata =
714        new FolderMetadataManager.Builder()
715            .auth(this.auth)
716            .networkSession(this.networkSession)
717            .build();
718    this.folderClassifications =
719        new FolderClassificationsManager.Builder()
720            .auth(this.auth)
721            .networkSession(this.networkSession)
722            .build();
723    this.trashedItems =
724        new TrashedItemsManager.Builder()
725            .auth(this.auth)
726            .networkSession(this.networkSession)
727            .build();
728    this.folderWatermarks =
729        new FolderWatermarksManager.Builder()
730            .auth(this.auth)
731            .networkSession(this.networkSession)
732            .build();
733    this.folderLocks =
734        new FolderLocksManager.Builder()
735            .auth(this.auth)
736            .networkSession(this.networkSession)
737            .build();
738    this.metadataTemplates =
739        new MetadataTemplatesManager.Builder()
740            .auth(this.auth)
741            .networkSession(this.networkSession)
742            .build();
743    this.classifications =
744        new ClassificationsManager.Builder()
745            .auth(this.auth)
746            .networkSession(this.networkSession)
747            .build();
748    this.metadataCascadePolicies =
749        new MetadataCascadePoliciesManager.Builder()
750            .auth(this.auth)
751            .networkSession(this.networkSession)
752            .build();
753    this.search =
754        new SearchManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
755    this.userCollaborations =
756        new UserCollaborationsManager.Builder()
757            .auth(this.auth)
758            .networkSession(this.networkSession)
759            .build();
760    this.taskAssignments =
761        new TaskAssignmentsManager.Builder()
762            .auth(this.auth)
763            .networkSession(this.networkSession)
764            .build();
765    this.sharedLinksFiles =
766        new SharedLinksFilesManager.Builder()
767            .auth(this.auth)
768            .networkSession(this.networkSession)
769            .build();
770    this.sharedLinksFolders =
771        new SharedLinksFoldersManager.Builder()
772            .auth(this.auth)
773            .networkSession(this.networkSession)
774            .build();
775    this.webLinks =
776        new WebLinksManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
777    this.trashedWebLinks =
778        new TrashedWebLinksManager.Builder()
779            .auth(this.auth)
780            .networkSession(this.networkSession)
781            .build();
782    this.sharedLinksWebLinks =
783        new SharedLinksWebLinksManager.Builder()
784            .auth(this.auth)
785            .networkSession(this.networkSession)
786            .build();
787    this.sharedLinksAppItems =
788        new SharedLinksAppItemsManager.Builder()
789            .auth(this.auth)
790            .networkSession(this.networkSession)
791            .build();
792    this.users =
793        new UsersManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
794    this.sessionTermination =
795        new SessionTerminationManager.Builder()
796            .auth(this.auth)
797            .networkSession(this.networkSession)
798            .build();
799    this.avatars =
800        new AvatarsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
801    this.transfer =
802        new TransferManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
803    this.emailAliases =
804        new EmailAliasesManager.Builder()
805            .auth(this.auth)
806            .networkSession(this.networkSession)
807            .build();
808    this.memberships =
809        new MembershipsManager.Builder()
810            .auth(this.auth)
811            .networkSession(this.networkSession)
812            .build();
813    this.invites =
814        new InvitesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
815    this.groups =
816        new GroupsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
817    this.webhooks =
818        new WebhooksManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
819    this.events =
820        new EventsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
821    this.collections =
822        new CollectionsManager.Builder()
823            .auth(this.auth)
824            .networkSession(this.networkSession)
825            .build();
826    this.recentItems =
827        new RecentItemsManager.Builder()
828            .auth(this.auth)
829            .networkSession(this.networkSession)
830            .build();
831    this.retentionPolicies =
832        new RetentionPoliciesManager.Builder()
833            .auth(this.auth)
834            .networkSession(this.networkSession)
835            .build();
836    this.retentionPolicyAssignments =
837        new RetentionPolicyAssignmentsManager.Builder()
838            .auth(this.auth)
839            .networkSession(this.networkSession)
840            .build();
841    this.legalHoldPolicies =
842        new LegalHoldPoliciesManager.Builder()
843            .auth(this.auth)
844            .networkSession(this.networkSession)
845            .build();
846    this.legalHoldPolicyAssignments =
847        new LegalHoldPolicyAssignmentsManager.Builder()
848            .auth(this.auth)
849            .networkSession(this.networkSession)
850            .build();
851    this.fileVersionRetentions =
852        new FileVersionRetentionsManager.Builder()
853            .auth(this.auth)
854            .networkSession(this.networkSession)
855            .build();
856    this.fileVersionLegalHolds =
857        new FileVersionLegalHoldsManager.Builder()
858            .auth(this.auth)
859            .networkSession(this.networkSession)
860            .build();
861    this.shieldInformationBarriers =
862        new ShieldInformationBarriersManager.Builder()
863            .auth(this.auth)
864            .networkSession(this.networkSession)
865            .build();
866    this.shieldInformationBarrierReports =
867        new ShieldInformationBarrierReportsManager.Builder()
868            .auth(this.auth)
869            .networkSession(this.networkSession)
870            .build();
871    this.shieldInformationBarrierSegments =
872        new ShieldInformationBarrierSegmentsManager.Builder()
873            .auth(this.auth)
874            .networkSession(this.networkSession)
875            .build();
876    this.shieldInformationBarrierSegmentMembers =
877        new ShieldInformationBarrierSegmentMembersManager.Builder()
878            .auth(this.auth)
879            .networkSession(this.networkSession)
880            .build();
881    this.shieldInformationBarrierSegmentRestrictions =
882        new ShieldInformationBarrierSegmentRestrictionsManager.Builder()
883            .auth(this.auth)
884            .networkSession(this.networkSession)
885            .build();
886    this.devicePinners =
887        new DevicePinnersManager.Builder()
888            .auth(this.auth)
889            .networkSession(this.networkSession)
890            .build();
891    this.termsOfServices =
892        new TermsOfServicesManager.Builder()
893            .auth(this.auth)
894            .networkSession(this.networkSession)
895            .build();
896    this.termsOfServiceUserStatuses =
897        new TermsOfServiceUserStatusesManager.Builder()
898            .auth(this.auth)
899            .networkSession(this.networkSession)
900            .build();
901    this.collaborationAllowlistEntries =
902        new CollaborationAllowlistEntriesManager.Builder()
903            .auth(this.auth)
904            .networkSession(this.networkSession)
905            .build();
906    this.collaborationAllowlistExemptTargets =
907        new CollaborationAllowlistExemptTargetsManager.Builder()
908            .auth(this.auth)
909            .networkSession(this.networkSession)
910            .build();
911    this.storagePolicies =
912        new StoragePoliciesManager.Builder()
913            .auth(this.auth)
914            .networkSession(this.networkSession)
915            .build();
916    this.storagePolicyAssignments =
917        new StoragePolicyAssignmentsManager.Builder()
918            .auth(this.auth)
919            .networkSession(this.networkSession)
920            .build();
921    this.zipDownloads =
922        new ZipDownloadsManager.Builder()
923            .auth(this.auth)
924            .networkSession(this.networkSession)
925            .build();
926    this.signRequests =
927        new SignRequestsManager.Builder()
928            .auth(this.auth)
929            .networkSession(this.networkSession)
930            .build();
931    this.workflows =
932        new WorkflowsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
933    this.signTemplates =
934        new SignTemplatesManager.Builder()
935            .auth(this.auth)
936            .networkSession(this.networkSession)
937            .build();
938    this.integrationMappings =
939        new IntegrationMappingsManager.Builder()
940            .auth(this.auth)
941            .networkSession(this.networkSession)
942            .build();
943    this.ai = new AiManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
944    this.aiStudio =
945        new AiStudioManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
946    this.metadataTaxonomies =
947        new MetadataTaxonomiesManager.Builder()
948            .auth(this.auth)
949            .networkSession(this.networkSession)
950            .build();
951    this.docgenTemplate =
952        new DocgenTemplateManager.Builder()
953            .auth(this.auth)
954            .networkSession(this.networkSession)
955            .build();
956    this.docgen =
957        new DocgenManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
958    this.enterpriseConfigurations =
959        new EnterpriseConfigurationsManager.Builder()
960            .auth(this.auth)
961            .networkSession(this.networkSession)
962            .build();
963    this.hubs =
964        new HubsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
965    this.hubCollaborations =
966        new HubCollaborationsManager.Builder()
967            .auth(this.auth)
968            .networkSession(this.networkSession)
969            .build();
970    this.hubItems =
971        new HubItemsManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
972    this.hubDocument =
973        new HubDocumentManager.Builder()
974            .auth(this.auth)
975            .networkSession(this.networkSession)
976            .build();
977    this.shieldLists =
978        new ShieldListsManager.Builder()
979            .auth(this.auth)
980            .networkSession(this.networkSession)
981            .build();
982    this.archives =
983        new ArchivesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
984    this.externalUsers =
985        new ExternalUsersManager.Builder()
986            .auth(this.auth)
987            .networkSession(this.networkSession)
988            .build();
989    this.automateWorkflows =
990        new AutomateWorkflowsManager.Builder()
991            .auth(this.auth)
992            .networkSession(this.networkSession)
993            .build();
994    this.notes =
995        new NotesManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
996    this.query =
997        new QueryManager.Builder().auth(this.auth).networkSession(this.networkSession).build();
998  }
999
1000  /**
1001   * Make a custom http request using the client authentication and network session.
1002   *
1003   * @param fetchOptions Options to be passed to the fetch call
1004   */
1005  public FetchResponse makeRequest(FetchOptions fetchOptions) {
1006    Authentication auth = (fetchOptions.getAuth() == null ? this.auth : fetchOptions.getAuth());
1007    NetworkSession networkSession =
1008        (fetchOptions.getNetworkSession() == null
1009            ? this.networkSession
1010            : fetchOptions.getNetworkSession());
1011    FetchOptions enrichedFetchOptions =
1012        new FetchOptions.Builder(fetchOptions.getUrl(), fetchOptions.getMethod())
1013            .params(fetchOptions.getParams())
1014            .headers(fetchOptions.getHeaders())
1015            .data(fetchOptions.getData())
1016            .fileStream(fetchOptions.getFileStream())
1017            .multipartData(fetchOptions.getMultipartData())
1018            .contentType(fetchOptions.getContentType())
1019            .responseFormat(fetchOptions.getResponseFormat())
1020            .auth(auth)
1021            .networkSession(networkSession)
1022            .followRedirects(fetchOptions.getFollowRedirects())
1023            .build();
1024    return networkSession.getNetworkClient().fetch(enrichedFetchOptions);
1025  }
1026
1027  /**
1028   * Create a new client to impersonate user with the provided ID. All calls made with the new
1029   * client will be made in context of the impersonated user, leaving the original client
1030   * unmodified.
1031   *
1032   * @param userId ID of an user to impersonate
1033   */
1034  public BoxClient withAsUserHeader(String userId) {
1035    return new BoxClient.Builder(this.auth)
1036        .networkSession(
1037            this.networkSession.withAdditionalHeaders(mapOf(entryOf("As-User", userId))))
1038        .build();
1039  }
1040
1041  /**
1042   * Create a new client with suppressed notifications. Calls made with the new client will not
1043   * trigger email or webhook notifications
1044   */
1045  public BoxClient withSuppressedNotifications() {
1046    return new BoxClient.Builder(this.auth)
1047        .networkSession(
1048            this.networkSession.withAdditionalHeaders(mapOf(entryOf("Box-Notifications", "off"))))
1049        .build();
1050  }
1051
1052  /** Create a new client with a custom set of headers that will be included in every API call */
1053  public BoxClient withExtraHeaders() {
1054    return withExtraHeaders(mapOf());
1055  }
1056
1057  /**
1058   * Create a new client with a custom set of headers that will be included in every API call
1059   *
1060   * @param extraHeaders Custom set of headers that will be included in every API call
1061   */
1062  public BoxClient withExtraHeaders(Map<String, String> extraHeaders) {
1063    return new BoxClient.Builder(this.auth)
1064        .networkSession(this.networkSession.withAdditionalHeaders(extraHeaders))
1065        .build();
1066  }
1067
1068  /**
1069   * Create a new client with a custom set of base urls that will be used for every API call
1070   *
1071   * @param baseUrls Custom set of base urls that will be used for every API call
1072   */
1073  public BoxClient withCustomBaseUrls(BaseUrls baseUrls) {
1074    return new BoxClient.Builder(this.auth)
1075        .networkSession(this.networkSession.withCustomBaseUrls(baseUrls))
1076        .build();
1077  }
1078
1079  /**
1080   * Create a new client with a custom proxy that will be used for every API call
1081   *
1082   * @param config The config parameter
1083   */
1084  public BoxClient withProxy(ProxyConfig config) {
1085    return new BoxClient.Builder(this.auth)
1086        .networkSession(this.networkSession.withProxy(config))
1087        .build();
1088  }
1089
1090  /**
1091   * Create a new client with custom timeouts that will be used for every API call
1092   *
1093   * @param config Timeout configuration.
1094   */
1095  public BoxClient withTimeouts(TimeoutConfig config) {
1096    return new BoxClient.Builder(this.auth)
1097        .networkSession(this.networkSession.withTimeoutConfig(config))
1098        .build();
1099  }
1100
1101  /**
1102   * Create a new client with a custom set of interceptors that will be used for every API call
1103   *
1104   * @param interceptors Custom set of interceptors that will be used for every API call
1105   */
1106  public BoxClient withInterceptors(List<Interceptor> interceptors) {
1107    return new BoxClient.Builder(this.auth)
1108        .networkSession(this.networkSession.withInterceptors(interceptors))
1109        .build();
1110  }
1111
1112  public Authentication getAuth() {
1113    return auth;
1114  }
1115
1116  public NetworkSession getNetworkSession() {
1117    return networkSession;
1118  }
1119
1120  public AuthorizationManager getAuthorization() {
1121    return authorization;
1122  }
1123
1124  public FilesManager getFiles() {
1125    return files;
1126  }
1127
1128  public TrashedFilesManager getTrashedFiles() {
1129    return trashedFiles;
1130  }
1131
1132  public AppItemAssociationsManager getAppItemAssociations() {
1133    return appItemAssociations;
1134  }
1135
1136  public DownloadsManager getDownloads() {
1137    return downloads;
1138  }
1139
1140  public UploadsManager getUploads() {
1141    return uploads;
1142  }
1143
1144  public ChunkedUploadsManager getChunkedUploads() {
1145    return chunkedUploads;
1146  }
1147
1148  public ListCollaborationsManager getListCollaborations() {
1149    return listCollaborations;
1150  }
1151
1152  public CommentsManager getComments() {
1153    return comments;
1154  }
1155
1156  public TasksManager getTasks() {
1157    return tasks;
1158  }
1159
1160  public FileVersionsManager getFileVersions() {
1161    return fileVersions;
1162  }
1163
1164  public FileMetadataManager getFileMetadata() {
1165    return fileMetadata;
1166  }
1167
1168  public FileClassificationsManager getFileClassifications() {
1169    return fileClassifications;
1170  }
1171
1172  public SkillsManager getSkills() {
1173    return skills;
1174  }
1175
1176  public FileWatermarksManager getFileWatermarks() {
1177    return fileWatermarks;
1178  }
1179
1180  public FileRequestsManager getFileRequests() {
1181    return fileRequests;
1182  }
1183
1184  public FoldersManager getFolders() {
1185    return folders;
1186  }
1187
1188  public TrashedFoldersManager getTrashedFolders() {
1189    return trashedFolders;
1190  }
1191
1192  public FolderMetadataManager getFolderMetadata() {
1193    return folderMetadata;
1194  }
1195
1196  public FolderClassificationsManager getFolderClassifications() {
1197    return folderClassifications;
1198  }
1199
1200  public TrashedItemsManager getTrashedItems() {
1201    return trashedItems;
1202  }
1203
1204  public FolderWatermarksManager getFolderWatermarks() {
1205    return folderWatermarks;
1206  }
1207
1208  public FolderLocksManager getFolderLocks() {
1209    return folderLocks;
1210  }
1211
1212  public MetadataTemplatesManager getMetadataTemplates() {
1213    return metadataTemplates;
1214  }
1215
1216  public ClassificationsManager getClassifications() {
1217    return classifications;
1218  }
1219
1220  public MetadataCascadePoliciesManager getMetadataCascadePolicies() {
1221    return metadataCascadePolicies;
1222  }
1223
1224  public SearchManager getSearch() {
1225    return search;
1226  }
1227
1228  public UserCollaborationsManager getUserCollaborations() {
1229    return userCollaborations;
1230  }
1231
1232  public TaskAssignmentsManager getTaskAssignments() {
1233    return taskAssignments;
1234  }
1235
1236  public SharedLinksFilesManager getSharedLinksFiles() {
1237    return sharedLinksFiles;
1238  }
1239
1240  public SharedLinksFoldersManager getSharedLinksFolders() {
1241    return sharedLinksFolders;
1242  }
1243
1244  public WebLinksManager getWebLinks() {
1245    return webLinks;
1246  }
1247
1248  public TrashedWebLinksManager getTrashedWebLinks() {
1249    return trashedWebLinks;
1250  }
1251
1252  public SharedLinksWebLinksManager getSharedLinksWebLinks() {
1253    return sharedLinksWebLinks;
1254  }
1255
1256  public SharedLinksAppItemsManager getSharedLinksAppItems() {
1257    return sharedLinksAppItems;
1258  }
1259
1260  public UsersManager getUsers() {
1261    return users;
1262  }
1263
1264  public SessionTerminationManager getSessionTermination() {
1265    return sessionTermination;
1266  }
1267
1268  public AvatarsManager getAvatars() {
1269    return avatars;
1270  }
1271
1272  public TransferManager getTransfer() {
1273    return transfer;
1274  }
1275
1276  public EmailAliasesManager getEmailAliases() {
1277    return emailAliases;
1278  }
1279
1280  public MembershipsManager getMemberships() {
1281    return memberships;
1282  }
1283
1284  public InvitesManager getInvites() {
1285    return invites;
1286  }
1287
1288  public GroupsManager getGroups() {
1289    return groups;
1290  }
1291
1292  public WebhooksManager getWebhooks() {
1293    return webhooks;
1294  }
1295
1296  public EventsManager getEvents() {
1297    return events;
1298  }
1299
1300  public CollectionsManager getCollections() {
1301    return collections;
1302  }
1303
1304  public RecentItemsManager getRecentItems() {
1305    return recentItems;
1306  }
1307
1308  public RetentionPoliciesManager getRetentionPolicies() {
1309    return retentionPolicies;
1310  }
1311
1312  public RetentionPolicyAssignmentsManager getRetentionPolicyAssignments() {
1313    return retentionPolicyAssignments;
1314  }
1315
1316  public LegalHoldPoliciesManager getLegalHoldPolicies() {
1317    return legalHoldPolicies;
1318  }
1319
1320  public LegalHoldPolicyAssignmentsManager getLegalHoldPolicyAssignments() {
1321    return legalHoldPolicyAssignments;
1322  }
1323
1324  public FileVersionRetentionsManager getFileVersionRetentions() {
1325    return fileVersionRetentions;
1326  }
1327
1328  public FileVersionLegalHoldsManager getFileVersionLegalHolds() {
1329    return fileVersionLegalHolds;
1330  }
1331
1332  public ShieldInformationBarriersManager getShieldInformationBarriers() {
1333    return shieldInformationBarriers;
1334  }
1335
1336  public ShieldInformationBarrierReportsManager getShieldInformationBarrierReports() {
1337    return shieldInformationBarrierReports;
1338  }
1339
1340  public ShieldInformationBarrierSegmentsManager getShieldInformationBarrierSegments() {
1341    return shieldInformationBarrierSegments;
1342  }
1343
1344  public ShieldInformationBarrierSegmentMembersManager getShieldInformationBarrierSegmentMembers() {
1345    return shieldInformationBarrierSegmentMembers;
1346  }
1347
1348  public ShieldInformationBarrierSegmentRestrictionsManager
1349      getShieldInformationBarrierSegmentRestrictions() {
1350    return shieldInformationBarrierSegmentRestrictions;
1351  }
1352
1353  public DevicePinnersManager getDevicePinners() {
1354    return devicePinners;
1355  }
1356
1357  public TermsOfServicesManager getTermsOfServices() {
1358    return termsOfServices;
1359  }
1360
1361  public TermsOfServiceUserStatusesManager getTermsOfServiceUserStatuses() {
1362    return termsOfServiceUserStatuses;
1363  }
1364
1365  public CollaborationAllowlistEntriesManager getCollaborationAllowlistEntries() {
1366    return collaborationAllowlistEntries;
1367  }
1368
1369  public CollaborationAllowlistExemptTargetsManager getCollaborationAllowlistExemptTargets() {
1370    return collaborationAllowlistExemptTargets;
1371  }
1372
1373  public StoragePoliciesManager getStoragePolicies() {
1374    return storagePolicies;
1375  }
1376
1377  public StoragePolicyAssignmentsManager getStoragePolicyAssignments() {
1378    return storagePolicyAssignments;
1379  }
1380
1381  public ZipDownloadsManager getZipDownloads() {
1382    return zipDownloads;
1383  }
1384
1385  public SignRequestsManager getSignRequests() {
1386    return signRequests;
1387  }
1388
1389  public WorkflowsManager getWorkflows() {
1390    return workflows;
1391  }
1392
1393  public SignTemplatesManager getSignTemplates() {
1394    return signTemplates;
1395  }
1396
1397  public IntegrationMappingsManager getIntegrationMappings() {
1398    return integrationMappings;
1399  }
1400
1401  public AiManager getAi() {
1402    return ai;
1403  }
1404
1405  public AiStudioManager getAiStudio() {
1406    return aiStudio;
1407  }
1408
1409  public MetadataTaxonomiesManager getMetadataTaxonomies() {
1410    return metadataTaxonomies;
1411  }
1412
1413  public DocgenTemplateManager getDocgenTemplate() {
1414    return docgenTemplate;
1415  }
1416
1417  public DocgenManager getDocgen() {
1418    return docgen;
1419  }
1420
1421  public EnterpriseConfigurationsManager getEnterpriseConfigurations() {
1422    return enterpriseConfigurations;
1423  }
1424
1425  public HubsManager getHubs() {
1426    return hubs;
1427  }
1428
1429  public HubCollaborationsManager getHubCollaborations() {
1430    return hubCollaborations;
1431  }
1432
1433  public HubItemsManager getHubItems() {
1434    return hubItems;
1435  }
1436
1437  public HubDocumentManager getHubDocument() {
1438    return hubDocument;
1439  }
1440
1441  public ShieldListsManager getShieldLists() {
1442    return shieldLists;
1443  }
1444
1445  public ArchivesManager getArchives() {
1446    return archives;
1447  }
1448
1449  public ExternalUsersManager getExternalUsers() {
1450    return externalUsers;
1451  }
1452
1453  public AutomateWorkflowsManager getAutomateWorkflows() {
1454    return automateWorkflows;
1455  }
1456
1457  public NotesManager getNotes() {
1458    return notes;
1459  }
1460
1461  public QueryManager getQuery() {
1462    return query;
1463  }
1464
1465  public static class Builder {
1466
1467    protected final Authentication auth;
1468
1469    protected NetworkSession networkSession;
1470
1471    public Builder(Authentication auth) {
1472      this.auth = auth;
1473    }
1474
1475    public Builder networkSession(NetworkSession networkSession) {
1476      this.networkSession = networkSession;
1477      return this;
1478    }
1479
1480    public BoxClient build() {
1481      if (this.networkSession == null) {
1482        this.networkSession = new NetworkSession.Builder().baseUrls(new BaseUrls()).build();
1483      }
1484      return new BoxClient(this);
1485    }
1486  }
1487}