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;
18
19 import com.atlassian.jira.rest.client.api.GetCreateIssueMetadataOptions;
20 import com.atlassian.jira.rest.client.api.IssueRestClient;
21 import com.google.common.base.Objects;
22
23 import javax.annotation.Nullable;
24 import java.net.URI;
25 import java.util.Map;
26
27
28
29
30
31
32
33
34 public class CimIssueType extends IssueType {
35
36 private final Map<String, CimFieldInfo> fields;
37
38 public CimIssueType(URI self, @Nullable Long id, String name, boolean isSubtask, String description, URI iconUri, Map<String, CimFieldInfo> fields) {
39 super(self, id, name, isSubtask, description, iconUri);
40 this.fields = fields;
41 }
42
43 public Map<String, CimFieldInfo> getFields() {
44 return fields;
45 }
46
47 @Nullable
48 public CimFieldInfo getField(IssueFieldId fieldId) {
49 return fields.get(fieldId.id);
50 }
51
52
53
54
55
56
57 @Override
58 protected Objects.ToStringHelper getToStringHelper() {
59 return super.getToStringHelper().add("fields", fields);
60 }
61
62 @Override
63 public boolean equals(Object obj) {
64 if (obj instanceof CimIssueType) {
65 CimIssueType that = (CimIssueType) obj;
66 return super.equals(obj)
67 && Objects.equal(this.fields, that.fields);
68 }
69 return false;
70 }
71
72 @Override
73 public int hashCode() {
74 return Objects.hashCode(super.hashCode(), fields);
75 }
76 }