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