box / box/box-java-sdk

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

Offen
#1,877 1 Kommentar 0 Reaktionen 5 zugewiesene Personen Beansprucht von @mwwoda Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Java
Sterne
170
Forks
189
Ø Merge
20 Std. 26 Min.
Gemergte PRs (30 T.)
22

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.