1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.domain;
18
19 import com.atlassian.jira.rest.client.GetCreateIssueMetadataOptions;
20 import com.atlassian.jira.rest.client.IssueRestClient;
21 import com.atlassian.jira.rest.client.ProgressMonitor;
22 import com.google.common.base.Objects;
23
24 import javax.annotation.Nullable;
25 import java.net.URI;
26 import java.util.Map;
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 public CimFieldInfo getField(IssueFieldId fieldId) {
48 return fields.get(fieldId.id);
49 }
50
51
52
53
54
55 @Override
56 protected Objects.ToStringHelper getToStringHelper() {
57 return super.getToStringHelper().add("fields", fields);
58 }
59
60 @Override
61 public boolean equals(Object obj) {
62 if (obj instanceof CimIssueType) {
63 CimIssueType that = (CimIssueType) obj;
64 return super.equals(obj)
65 && Objects.equal(this.fields, that.fields);
66 }
67 return false;
68 }
69
70 @Override
71 public int hashCode() {
72 return Objects.hashCode(super.hashCode(), fields);
73 }
74 }