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 public class CimIssueType extends IssueType {
34
35 private final Map<String, CimFieldInfo> fields;
36
37 public CimIssueType(URI self, @Nullable Long id, String name, boolean isSubtask, String description, URI iconUri, Map<String, CimFieldInfo> fields) {
38 super(self, id, name, isSubtask, description, iconUri);
39 this.fields = fields;
40 }
41
42 public Map<String, CimFieldInfo> getFields() {
43 return fields;
44 }
45
46 @Nullable
47 public CimFieldInfo getField(IssueFieldId fieldId) {
48 return fields.get(fieldId.id);
49 }
50
51
52
53
54
55
56 @Override
57 protected Objects.ToStringHelper getToStringHelper() {
58 return super.getToStringHelper().add("fields", fields);
59 }
60
61 @Override
62 public boolean equals(Object obj) {
63 if (obj instanceof CimIssueType) {
64 CimIssueType that = (CimIssueType) obj;
65 return super.equals(obj)
66 && Objects.equal(this.fields, that.fields);
67 }
68 return false;
69 }
70
71 @Override
72 public int hashCode() {
73 return Objects.hashCode(super.hashCode(), fields);
74 }
75 }