box / box/box-java-sdk

Auto-paginating iterator from v4, v5 (BoxResourceIterable) missing in v10 gen SDK

Open
#1,877 1 comment 0 reactions 5 assignees Claimed by @mwwoda View on GitHub
enhancement
Dominant language
Java
Stars
170
Forks
189
Avg merge
20h 26m
Merged PRs (30d)
22

Description

### Is your feature request related to a problem? Please describe.

In box-java-sdk v4, every collection-returning call implemented `Iterable` and transparently fetched additional pages as the iterator advanced (BoxResourceIterable). Code like the following just worked,
regardless of how many items the folder contained:

`for (BoxItem.Info item : folder) { ... }`

After upgrading to v10 (the consolidated gen-based SDK), this is gone. Manager methods like `client.folders.getFolderItems(folderId)`, `client.search.searchForContent(...)`, `client.users.getUsers(...)`, etc.
return a single page. The only iterator class shipped in the jar is `com.box.sdkgen.box.eventstream.EventStreamIterator`, which is specific to the events firehose.

The practical consequence is that any caller doing a "find by name in a folder" or "list all users" now has to hand-roll an offset/limit (or marker) loop, track total_count / next_marker, and remember to guard against empty pages, code that used to be a one-liner against `Iterable` becomes ~15 lines per call site.

### Describe the solution you'd like

A generic auto-paginating wrapper that turns any paged endpoint into a Stream (or Iterable), matching the ergonomics of v4.

### Describe alternatives you've considered

Staying on v4-v5. Not viable long-term, v4 is no longer the supported line after the May 2026 consolidation.

### Additional context

- v4 reference: BoxResourceIterable (http://opensource.box.com/box-java-sdk/javadoc/com/box/sdk/BoxResourceIterable.html)
- Pagination guide: https://developer.box.com/guides/api-calls/pagination/
- `box-typescript-sdk-gen` ships `IteratorAsyncIterator` and per-method *All variants
- `box-python-sdk-gen` exposes paginated results as Python iterators

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.