Is your feature request related to a problem? Please describe.
In box-java-sdk v4, every collection-returning call implemented Iterable<T> 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
Is your feature request related to a problem? Please describe.
In box-java-sdk v4, every collection-returning call implemented
Iterable<T>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
Iterablebecomes ~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
box-typescript-sdk-genshipsIteratorAsyncIteratorand per-method *All variantsbox-python-sdk-genexposes paginated results as Python iterators