public BucketIterator(String bucket, S3Downloader s3) { this.bucket = bucket; if (s3 == null) s3 = new S3Downloader(); currList = s3.listObjects(bucket); currObjects = currList.getObjectSummaries(); }
@Override public InputStream next() { if (currObject < currObjects.size()) { InputStream ret = s3.objectForKey(bucket, currObjects.get(currObject).getKey()); currObject++; return ret; } else if (currList.isTruncated()) { currList = s3.nextList(currList); currObjects = currList.getObjectSummaries(); currObject = 0; InputStream ret = s3.objectForKey(bucket, currObjects.get(currObject).getKey()); currObject++; return ret; } return null; }