Files
github-api/src/main/java/org/kohsuke/github/GHWorkflowRunsIterable.java
2021-04-02 22:53:08 +02:00

46 lines
1.2 KiB
Java

package org.kohsuke.github;
import java.util.Iterator;
import javax.annotation.Nonnull;
/**
* Iterable for workflow runs listing.
*/
class GHWorkflowRunsIterable extends PagedIterable<GHWorkflowRun> {
private final GHRepository owner;
private final GitHubRequest request;
private GHWorkflowRunsPage result;
public GHWorkflowRunsIterable(GHRepository owner, GitHubRequest request) {
this.owner = owner;
this.request = request;
}
@Nonnull
@Override
public PagedIterator<GHWorkflowRun> _iterator(int pageSize) {
return new PagedIterator<>(
adapt(GitHubPageIterator
.create(owner.getRoot().getClient(), GHWorkflowRunsPage.class, request, pageSize)),
null);
}
protected Iterator<GHWorkflowRun[]> adapt(final Iterator<GHWorkflowRunsPage> base) {
return new Iterator<GHWorkflowRun[]>() {
public boolean hasNext() {
return base.hasNext();
}
public GHWorkflowRun[] next() {
GHWorkflowRunsPage v = base.next();
if (result == null) {
result = v;
}
return v.getWorkflowRuns(owner);
}
};
}
}