in src/main/java/com/microsoft/azure/datalake/store/ADLStoreClient.java [595:622]
public List<DirectoryEntry> enumerateDirectory(String path,
int maxEntriesToRetrieve,
String startAfter,
String endBefore,
UserGroupRepresentation oidOrUpn)
throws IOException {
ArrayList<DirectoryEntry> deList = new ArrayList<DirectoryEntry>();
int pagesize = 4000;
int numEntriesToRequest;
ArrayList<DirectoryEntry> list;
String continuationToken;
boolean eol = (maxEntriesToRetrieve <= 0); // eol=end-of-list
while (!eol) {
numEntriesToRequest = Math.min(maxEntriesToRetrieve, pagesize);
DirectoryEntryListWithContinuationToken directoryEntryListWithContinuationToken = enumerateDirectoryInternal(path, numEntriesToRequest,
startAfter, endBefore, oidOrUpn);
continuationToken = directoryEntryListWithContinuationToken.getContinuationToken();
list = (ArrayList<DirectoryEntry>) directoryEntryListWithContinuationToken.getEntries();
if (list == null || list.size() == 0) break; // return what we have so far
int size = list.size();
deList.addAll(list);
startAfter = continuationToken;
maxEntriesToRetrieve -= size;
eol = (maxEntriesToRetrieve <= 0) || (continuationToken == "");
}
return deList;
}