-
Notifications
You must be signed in to change notification settings - Fork 775
Expand file tree
/
Copy pathGHPullRequestQueryBuilder.java
More file actions
124 lines (113 loc) · 2.89 KB
/
GHPullRequestQueryBuilder.java
File metadata and controls
124 lines (113 loc) · 2.89 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
package org.kohsuke.github;
// TODO: Auto-generated Javadoc
/**
* Lists up pull requests with some filtering and sorting.
*
* @author Kohsuke Kawaguchi
* @see GHRepository#queryPullRequests() GHRepository#queryPullRequests()
*/
public class GHPullRequestQueryBuilder extends GHQueryBuilder<GHPullRequest> {
/**
* The enum Sort.
*/
public enum Sort {
/** The created. */
CREATED,
/** The long running. */
LONG_RUNNING,
/** The popularity. */
POPULARITY,
/** The updated. */
UPDATED
}
private final GHRepository repo;
/**
* Instantiates a new GH pull request query builder.
*
* @param repo
* the repo
*/
GHPullRequestQueryBuilder(GHRepository repo) {
super(repo.root());
this.repo = repo;
}
/**
* Base gh pull request query builder.
*
* @param base
* the base
* @return the gh pull request query builder
*/
public GHPullRequestQueryBuilder base(String base) {
req.with("base", base);
return this;
}
/**
* Direction gh pull request query builder.
*
* @param d
* the d
* @return the gh pull request query builder
*/
public GHPullRequestQueryBuilder direction(GHDirection d) {
req.with("direction", d);
return this;
}
/**
* Head gh pull request query builder.
*
* @param head
* the head
* @return the gh pull request query builder
*/
public GHPullRequestQueryBuilder head(String head) {
if (head != null && !head.contains(":")) {
head = repo.getOwnerName() + ":" + head;
}
req.with("head", head);
return this;
}
/**
* List.
*
* @return the paged iterable
*/
@Override
public PagedIterable<GHPullRequest> list() {
return req.withUrlPath(repo.getApiTailUrl("pulls"))
.toIterable(GHPullRequest[].class, item -> item.wrapUp(repo));
}
/**
* Page size gh pull request query builder.
*
* @param pageSize
* the page size
* @return the gh pull request query builder
*/
public GHPullRequestQueryBuilder pageSize(int pageSize) {
req.with("per_page", pageSize);
return this;
}
/**
* Sort gh pull request query builder.
*
* @param sort
* the sort
* @return the gh pull request query builder
*/
public GHPullRequestQueryBuilder sort(Sort sort) {
req.with("sort", sort);
return this;
}
/**
* State gh pull request query builder.
*
* @param state
* the state
* @return the gh pull request query builder
*/
public GHPullRequestQueryBuilder state(GHIssueState state) {
req.with("state", state);
return this;
}
}