-
Notifications
You must be signed in to change notification settings - Fork 776
Expand file tree
/
Copy pathGHCheckRunsIterable.java
More file actions
130 lines (111 loc) · 3.36 KB
/
GHCheckRunsIterable.java
File metadata and controls
130 lines (111 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package org.kohsuke.github;
import java.util.Iterator;
import javax.annotation.Nonnull;
// TODO: Auto-generated Javadoc
/**
* Iterable for check-runs listing.
*/
class GHCheckRunsIterable extends PagedIterable<GHCheckRun> {
private final GHRepository owner;
private final GitHubRequest request;
private GHCheckRunsPage result;
/**
* Instantiates a new GH check runs iterable.
*
* @param owner
* the owner
* @param request
* the request
*/
public GHCheckRunsIterable(GHRepository owner, GitHubRequest request) {
this.owner = owner;
this.request = request;
}
@Nonnull
@Override
public Paginator<GHCheckRun> _paginator(int pageSize, int startPage) {
return new Paginator<>(
adapt(GitHubPaginator
.create(owner.root().getClient(), GHCheckRunsPage.class, request, pageSize, startPage)),
null);
}
/**
* Iterator.
*
* @param pageSize
* the page size
* @return the paged iterator
*/
@Nonnull
@Override
public PagedIterator<GHCheckRun> _iterator(int pageSize) {
return new PagedIterator<>(
adapt(GitHubPageIterator.create(owner.root().getClient(), GHCheckRunsPage.class, request, pageSize)),
null);
}
/**
* Adapt.
*
* @param base
* the base
* @return the iterator
*/
protected Iterator<GHCheckRun[]> adapt(final Iterator<GHCheckRunsPage> base) {
return new Iterator<GHCheckRun[]>() {
public boolean hasNext() {
return base.hasNext();
}
public GHCheckRun[] next() {
GHCheckRunsPage v = base.next();
if (result == null) {
result = v;
}
return v.getCheckRuns(owner);
}
};
}
protected NavigablePageIterator<GHCheckRun[]> adapt(final NavigablePageIterator<GHCheckRunsPage> base) {
return new NavigablePageIterator<GHCheckRun[]>() {
@Override
public boolean hasPrevious() {
return base.hasPrevious();
}
@Override
public GHCheckRun[] previous() {
return base.previous().getCheckRuns(owner);
}
@Override
public GHCheckRun[] first() {
return base.first().getCheckRuns(owner);
}
@Override
public GHCheckRun[] last() {
return base.last().getCheckRuns(owner);
}
@Override
public int totalCount() {
return base.totalCount();
}
@Override
public int currentPage() {
return base.currentPage();
}
@Override
public boolean hasNext() {
return base.hasNext();
}
@Override
public GHCheckRun[] next() {
return base.next().getCheckRuns(owner);
}
@Override
public GHCheckRun[] jumpToPage(int page) {
return base.jumpToPage(page).getCheckRuns(owner);
}
@Override
public void refresh() {
base.refresh();
}
};
}
}