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.AddressableEntity;
20 import com.google.common.base.Objects;
21
22 import java.net.URI;
23
24
25
26
27
28
29 public class BasicWatchers implements AddressableEntity {
30 private final URI self;
31 private final boolean isWatching;
32 private final int numWatchers;
33
34 public BasicWatchers(URI self, boolean watching, int numWatchers) {
35 this.self = self;
36 isWatching = watching;
37 this.numWatchers = numWatchers;
38 }
39
40 @Override
41 public URI getSelf() {
42 return self;
43 }
44
45 public boolean isWatching() {
46 return isWatching;
47 }
48
49 public int getNumWatchers() {
50 return numWatchers;
51 }
52
53 protected Objects.ToStringHelper getToStringHelper() {
54 return Objects.toStringHelper(this).
55 add("self", self).
56 add("isWatching", isWatching).
57 add("numWatchers", numWatchers);
58 }
59
60 @Override
61 public String toString() {
62 return getToStringHelper().toString();
63 }
64
65 @Override
66 public boolean equals(Object obj) {
67 if (obj instanceof BasicWatchers) {
68 final BasicWatchers that = (BasicWatchers) obj;
69 return Objects.equal(this.self, that.self)
70 && Objects.equal(this.isWatching, that.isWatching)
71 && Objects.equal(this.numWatchers, that.numWatchers);
72 }
73 return false;
74 }
75
76 @Override
77 public int hashCode() {
78 return Objects.hashCode(self, isWatching, numWatchers);
79 }
80 }