1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client;
18
19 import com.google.common.collect.ImmutableList;
20 import com.google.common.collect.Sets;
21
22
23
24
25
26
27
28
29
30
31
32
33 public class GetCreateIssueMetadataOptionsBuilder {
34 private Iterable<String> expandos = Sets.newHashSet();
35 private Iterable<String> issueTypeNames;
36 private Iterable<Long> issueTypeIds;
37 private Iterable<String> projectKeys;
38 private Iterable<Long> projectIds;
39
40 public GetCreateIssueMetadataOptionsBuilder withExpandos(Iterable<String> expandos) {
41 this.expandos = expandos;
42 return this;
43 }
44
45 @SuppressWarnings("UnusedDeclaration")
46 public GetCreateIssueMetadataOptionsBuilder withExpandos(String ... expandos) {
47 return withExpandos(ImmutableList.copyOf(expandos));
48 }
49
50 public GetCreateIssueMetadataOptionsBuilder withExpandedIssueTypesFields() {
51 return withExpandos(ImmutableList.of(GetCreateIssueMetadataOptions.EXPAND_PROJECTS_ISSUETYPES_FIELDS));
52 }
53
54 public GetCreateIssueMetadataOptionsBuilder withIssueTypeNames(Iterable<String> issueTypeNames) {
55 this.issueTypeNames = issueTypeNames;
56 return this;
57 }
58
59 @SuppressWarnings("UnusedDeclaration")
60
61 public GetCreateIssueMetadataOptionsBuilder withIssueTypeNames(String ... issueTypeNames) {
62 return withIssueTypeNames(ImmutableList.copyOf(issueTypeNames));
63 }
64
65 public GetCreateIssueMetadataOptionsBuilder withIssueTypeIds(Iterable<Long> issueTypeIds) {
66 this.issueTypeIds = issueTypeIds;
67 return this;
68 }
69
70 @SuppressWarnings("UnusedDeclaration")
71 public GetCreateIssueMetadataOptionsBuilder withIssueTypeIds(Long ... issueTypeIds) {
72 return withIssueTypeIds(ImmutableList.copyOf(issueTypeIds));
73 }
74
75 public GetCreateIssueMetadataOptionsBuilder withProjectKeys(Iterable<String> projectKeys) {
76 this.projectKeys = projectKeys;
77 return this;
78 }
79
80 public GetCreateIssueMetadataOptionsBuilder withProjectKeys(String ... projectKeys) {
81 return withProjectKeys(ImmutableList.copyOf(projectKeys));
82 }
83
84 public GetCreateIssueMetadataOptionsBuilder withProjectIds(Iterable<Long> projectIds) {
85 this.projectIds = projectIds;
86 return this;
87 }
88
89 @SuppressWarnings("UnusedDeclaration")
90 public GetCreateIssueMetadataOptionsBuilder withProjectIds(Long ... projectIds) {
91 return withProjectIds(ImmutableList.copyOf(projectIds));
92 }
93
94 public GetCreateIssueMetadataOptions build() {
95 return new GetCreateIssueMetadataOptions(expandos, issueTypeNames, issueTypeIds, projectKeys, projectIds);
96 }
97 }