Skip to content

Commit

Permalink
Use transform in BlobListResult
Browse files Browse the repository at this point in the history
  • Loading branch information
mziccard committed Sep 24, 2015
1 parent 3cf6af3 commit 2e90926
Showing 1 changed file with 9 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@

import static com.google.common.base.Preconditions.checkNotNull;

import com.google.common.base.Function;
import com.google.common.collect.Iterators;

import java.util.Iterator;
import java.util.Objects;

Expand All @@ -29,30 +32,6 @@ public class BlobListResult implements ListResult<Blob> {
private final ListResult<BlobInfo> infoList;
private final Storage storage;

private class BlobListIterator implements Iterator<Blob> {

private final Iterator<BlobInfo> blobInfoIterator;

public BlobListIterator() {
this.blobInfoIterator = infoList.iterator();
}

@Override
public boolean hasNext() {
return blobInfoIterator.hasNext();
}

@Override
public Blob next() {
return new Blob(storage, blobInfoIterator.next());
}

@Override
public void remove() {
blobInfoIterator.remove();
}
}

public BlobListResult(Storage storage, ListResult<BlobInfo> infoList) {
this.storage = checkNotNull(storage);
this.infoList = checkNotNull(infoList);
Expand All @@ -74,7 +53,12 @@ public ListResult<Blob> nextPage() {

@Override
public Iterator<Blob> iterator() {
return new BlobListIterator();
return Iterators.transform(infoList.iterator(), new Function<BlobInfo, Blob>() {
@Override
public Blob apply(BlobInfo info) {
return new Blob(storage, info);
}
});
}

@Override
Expand Down

0 comments on commit 2e90926

Please sign in to comment.