box / box/box-java-sdk

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

Đang mở
#1,877 1 bình luận 0 reaction 5 người được giao Được @mwwoda nhận Xem trên GitHub
enhancement
Ngôn ngữ chính
Java
Star
170
Fork
189
Merge trung bình
20 giờ 26 phút
Pull request đã merge (30 ngày)
22

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.