1 package com.atlassian.jira.rest.client.api.domain;
2
3 import com.google.common.base.Objects;
4
5 import java.net.URI;
6
7
8
9
10 public class Subtask {
11
12 private final String issueKey;
13 private final URI issueUri;
14 private final String summary;
15 private final IssueType issueType;
16 private final Status status;
17
18 public Subtask(String issueKey, URI issueUri, String summary, IssueType issueType, Status status) {
19 this.issueKey = issueKey;
20 this.issueUri = issueUri;
21 this.summary = summary;
22 this.issueType = issueType;
23 this.status = status;
24 }
25
26 public String getIssueKey() {
27 return issueKey;
28 }
29
30 public URI getIssueUri() {
31 return issueUri;
32 }
33
34 public String getSummary() {
35 return summary;
36 }
37
38 public IssueType getIssueType() {
39 return issueType;
40 }
41
42 public Status getStatus() {
43 return status;
44 }
45
46 @Override
47 public String toString() {
48 return Objects.toStringHelper(this).addValue(super.toString()).
49 add("issueKey", issueKey).
50 add("issueUri", issueUri).
51 add("summary", summary).
52 add("issueType", issueType).
53 add("status", status).
54 toString();
55 }
56
57
58 @Override
59 public boolean equals(Object obj) {
60 if (obj instanceof Subtask) {
61 Subtask that = (Subtask) obj;
62 return super.equals(obj) && Objects.equal(this.issueKey, that.issueKey)
63 && Objects.equal(this.issueUri, that.issueUri)
64 && Objects.equal(this.summary, that.summary)
65 && Objects.equal(this.issueType, that.issueType)
66 && Objects.equal(this.status, that.status);
67 }
68 return false;
69 }
70
71 @Override
72 public int hashCode() {
73 return Objects.hashCode(super.hashCode(), issueKey, issueUri, summary, issueType, status);
74 }
75
76 }