1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.atlassian.jira.rest.client.api.domain;
17
18 import com.atlassian.jira.rest.client.api.IdentifiableEntity;
19 import com.google.common.base.Objects;
20
21 import java.net.URI;
22
23
24
25
26
27
28 public class Filter extends AddressableNamedEntity implements IdentifiableEntity<Long> {
29 private final Long id;
30 private final String description;
31 private final String jql;
32 private final URI viewUrl;
33 private final URI searchUrl;
34 private final BasicUser owner;
35 private final boolean favourite;
36
37 public Filter(URI self, Long id, String name, String description, String jql, URI viewUrl, URI searchUrl, BasicUser owner, boolean favourite) {
38 super(self, name);
39 this.id = id;
40 this.description = description;
41 this.jql = jql;
42 this.viewUrl = viewUrl;
43 this.searchUrl = searchUrl;
44 this.owner = owner;
45 this.favourite = favourite;
46 }
47
48 @Override
49 public Long getId() {
50 return id;
51 }
52
53 @SuppressWarnings("UnusedDeclaration")
54 public String getJql() {
55 return jql;
56 }
57
58 @SuppressWarnings("UnusedDeclaration")
59 public URI getViewUrl() {
60 return viewUrl;
61 }
62
63 @SuppressWarnings("UnusedDeclaration")
64 public URI getSearchUrl() {
65 return searchUrl;
66 }
67
68 public String getDescription() {
69 return description;
70 }
71
72 @SuppressWarnings("UnusedDeclaration")
73 public BasicUser getOwner() {
74 return owner;
75 }
76
77 @SuppressWarnings("UnusedDeclaration")
78 public boolean isFavourite() {
79 return favourite;
80 }
81
82 @Override
83 protected Objects.ToStringHelper getToStringHelper() {
84 return super.getToStringHelper()
85 .add("id", id)
86 .add("description", description)
87 .add("jql", jql)
88 .add("viewUrl", viewUrl)
89 .add("searchUrl", searchUrl)
90 .add("owner", owner)
91 .add("favourite", favourite);
92 }
93
94 @Override
95 public boolean equals(Object obj) {
96 if (obj instanceof Filter) {
97 Filter that = (Filter) obj;
98 return super.equals(that)
99 && Objects.equal(this.id, that.id)
100 && Objects.equal(this.description, that.description)
101 && Objects.equal(this.jql, that.jql)
102 && Objects.equal(this.viewUrl, that.viewUrl)
103 && Objects.equal(this.searchUrl, that.searchUrl)
104 && Objects.equal(this.owner, that.owner)
105 && Objects.equal(this.favourite, that.favourite);
106 }
107 return false;
108 }
109
110 @Override
111 public int hashCode() {
112 return Objects.hashCode(super.hashCode(), id, description, jql, searchUrl, viewUrl, owner, favourite);
113 }
114 }