Belgelere geç
Java

Sayfalama

Tek sayfa, tüm sayfalar ya da her seferinde tek öğe.

Tek sayfa

OnePage.java
RequestOptions inbox = RequestOptions.of("folder", "inbox").limit(25);Page page = client.threads().list(inbox); for (Map<String, Object> thread : page) {    System.out.println(thread.get("id") + " " + thread.get("subject"));} if (page.hasMore()) {    Page next = client.threads().list(inbox.cursor(page.nextCursor()));     System.out.println(next.size());}

Bir list yöntemi items(), hasMore() ve nextCursor() içeren bir Page döndürür ve bir for döngüsü öğelerini dolaşır. Sonraki sayfayı okumak için nextCursor() değerini aynı filtrelerle cursor olarak geri geçirin.

Tüm sayfalar

EveryPage.java
List<Map<String, Object>> contacts = client.contacts().listAll(); System.out.println(contacts.size());

Bir listAll yöntemi imleci sonuna kadar izler ve her öğeyi tek bir List içinde döndürür. Herhangi bir sayfadaki hata tüm çağrıyı başarısız kılar.

Her seferinde bir öğe

Iterate.java
for (Map<String, Object> thread : client.threads().iterate(RequestOptions.of("query", "invoice"))) {    if (Boolean.TRUE.equals(thread.get("hasUnread"))) {        System.out.println(thread.get("id"));         break;    }} long starred = client.threads().iterate(RequestOptions.of("labelIds", "STARRED")).stream().count(); System.out.println(starred);

Bir iterate yöntemi bir PagedIterable döndürür; bu, sonraki sayfayı yalnızca döngü oraya ulaştığında ister, bu yüzden bir break istekleri durdurur. stream() aynı dolaşmayı bir Stream olarak verir, toList() ise onu toplar.

Bir yineleyici, API daha önce izlediği bir imleci yinelediğinde durur; böylece bir dolaşma asla sonsuza dek dönemez.