Auto-paginating iterator from v4, v5 (BoxResourceIterable) missing in v10 gen SDK
- 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
Assessment
This issue has not been assessed yet.