1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.api.domain.input;
18
19 import com.atlassian.jira.rest.client.api.MyPermissionsRestClient;
20 import com.google.common.base.Objects;
21
22 import javax.annotation.Nullable;
23
24
25
26
27 public class MyPermissionsInput {
28 @Nullable
29 private final String projectKey;
30 @Nullable
31 private final Integer projectId;
32 @Nullable
33 private final String issueKey;
34 @Nullable
35 private final Integer issueId;
36
37
38
39
40
41
42
43
44 public MyPermissionsInput(@Nullable final String projectKey, @Nullable final Integer projectId,
45 @Nullable final String issueKey, @Nullable final Integer issueId) {
46 this.projectKey = projectKey;
47 this.projectId = projectId;
48 this.issueKey = issueKey;
49 this.issueId = issueId;
50 }
51
52 @Nullable
53 public String getProjectKey() {
54 return projectKey;
55 }
56
57 @Nullable
58 public Integer getProjectId() {
59 return projectId;
60 }
61
62 @Nullable
63 public String getIssueKey() {
64 return issueKey;
65 }
66
67 @Nullable
68 public Integer getIssueId() {
69 return issueId;
70 }
71
72 @Override
73 public String toString() {
74 return Objects.toStringHelper(this)
75 .add("projectKey", projectKey)
76 .add("projectId", projectId)
77 .add("issueKey", issueKey)
78 .add("issueId", issueId)
79 .toString();
80 }
81
82
83
84
85 public static MyPermissionsInput withProject(final String projectKey) {
86 return new MyPermissionsInput(projectKey, null, null, null);
87 }
88
89
90
91
92 public static MyPermissionsInput withProject(final int projectId) {
93 return new MyPermissionsInput(null, projectId, null, null);
94 }
95
96
97
98
99 public static MyPermissionsInput withIssue(final String issueKey) {
100 return new MyPermissionsInput(null, null, issueKey, null);
101 }
102
103
104
105
106 public static MyPermissionsInput withIssue(final int issueId) {
107 return new MyPermissionsInput(null, null, null, issueId);
108 }
109
110
111
112
113 public static MyPermissionsInput withAny() {
114 return null;
115 }
116 }