package com.aspose.email.examples.exchangeews;
import com.aspose.email.EWSClient;
import com.aspose.email.ExchangeFolderInfoCollection;
import com.aspose.email.ExchangeFolderPageInfo;
import com.aspose.email.IEWSClient;
import com.aspose.email.system.IDisposable;
import com.aspose.email.system.collections.generic.List;
public class ListingFoldersWithPagingSupport {
public static void main(String[] args) {
final IEWSClient client = EWSClient.getEWSClient("exchange.domain.com", "username", "password");
try {
//Items per page
int itemsPerPage = 5;
ExchangeFolderInfoCollection totalFoldersCollection = client.listSubFolders(client.getMailboxInfo().getRootUri());
List<ExchangeFolderPageInfo> pages = new List<ExchangeFolderPageInfo>();
ExchangeFolderPageInfo pagedFoldersCollection = client.listSubFoldersByPage(client.getMailboxInfo().getRootUri(), itemsPerPage);
pages.addItem(pagedFoldersCollection);
while (!pagedFoldersCollection.getLastPage()) {
pagedFoldersCollection = client.listSubFoldersByPage(client.getMailboxInfo().getRootUri(), itemsPerPage, pagedFoldersCollection.getPageOffset() + 1);
pages.addItem(pagedFoldersCollection);
}
//Verify the items retrieved
int retrievedFolders = 0;
for (ExchangeFolderPageInfo pageCol : (Iterable<ExchangeFolderPageInfo>) pages)
retrievedFolders += pageCol.getItems().size();
System.out.println("Retrieved folders count: " + retrievedFolders);
} finally {
if (client != null)
((IDisposable) client).dispose();
}
}
}