box / box/box-java-sdk

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

Abierto
#1,877 1 comentario 0 reacciones 5 asignados Reclamado por @mwwoda Ver en GitHub
enhancement
Lenguaje dominante
Java
Estrellas
170
Forks
189
Merge medio
20 h 26 min
PR fusionados (30 d)
22

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.