Skip to content

Commit 2e90926

Browse files
committed
Use transform in BlobListResult
1 parent 3cf6af3 commit 2e90926

1 file changed

Lines changed: 9 additions & 25 deletions

File tree

gcloud-java-storage/src/main/java/com/google/gcloud/storage/BlobListResult.java

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818

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

21+
import com.google.common.base.Function;
22+
import com.google.common.collect.Iterators;
23+
2124
import java.util.Iterator;
2225
import java.util.Objects;
2326

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

32-
private class BlobListIterator implements Iterator<Blob> {
33-
34-
private final Iterator<BlobInfo> blobInfoIterator;
35-
36-
public BlobListIterator() {
37-
this.blobInfoIterator = infoList.iterator();
38-
}
39-
40-
@Override
41-
public boolean hasNext() {
42-
return blobInfoIterator.hasNext();
43-
}
44-
45-
@Override
46-
public Blob next() {
47-
return new Blob(storage, blobInfoIterator.next());
48-
}
49-
50-
@Override
51-
public void remove() {
52-
blobInfoIterator.remove();
53-
}
54-
}
55-
5635
public BlobListResult(Storage storage, ListResult<BlobInfo> infoList) {
5736
this.storage = checkNotNull(storage);
5837
this.infoList = checkNotNull(infoList);
@@ -74,7 +53,12 @@ public ListResult<Blob> nextPage() {
7453

7554
@Override
7655
public Iterator<Blob> iterator() {
77-
return new BlobListIterator();
56+
return Iterators.transform(infoList.iterator(), new Function<BlobInfo, Blob>() {
57+
@Override
58+
public Blob apply(BlobInfo info) {
59+
return new Blob(storage, info);
60+
}
61+
});
7862
}
7963

8064
@Override

0 commit comments

Comments
 (0)