box / box/box-java-sdk

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

オープン
#1,877 コメント 1 件 リアクション 0 件 担当者 5 名 @mwwoda が担当を希望しています GitHub で見る
enhancement
主要言語
Java
スター
170
フォーク
189
平均マージ
20時間 26分
マージ済み PR(30日)
22

説明

### 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

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。