1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.cache;
35
36 import java.io.Serializable;
37 import java.util.Map;
38
39 import edu.emory.mathcs.backport.java.util.Collections;
40
41
42
43
44
45
46
47 public class DefaultCacheKey implements Serializable {
48
49
50 private static final long serialVersionUID = 2699497852929596651L;
51
52 private String uri;
53 private String serverName;
54 private String locale;
55 private Map<String, String> params;
56
57 public DefaultCacheKey(String uri, String serverName, String locale, Map<String, String> params) {
58 this.uri = uri;
59 this.serverName = serverName;
60 this.locale = locale;
61 this.params = params == null ? null : Collections.unmodifiableMap(params);
62 }
63
64 @Override
65 public int hashCode() {
66 return (uri == null ? 13 : uri.hashCode())
67 + (serverName == null ? 17 : serverName.hashCode())
68 + (locale == null ? 23 : locale.hashCode())
69 + (params == null ? 27 : params.hashCode());
70 }
71
72 @Override
73 public boolean equals(Object obj) {
74 if (this == obj) {
75 return true;
76 }
77 if (obj == null || !(obj instanceof DefaultCacheKey)) {
78 return false;
79 }
80 DefaultCacheKey that = (DefaultCacheKey) obj;
81 return (this.uri == null) ? that.uri == null : this.uri.equals(that.uri)
82 && (this.serverName == null ? that.serverName == null : this.serverName.equals(that.serverName))
83 && (this.locale == null ? that.locale == null : this.locale.equals(that.locale))
84 && (this.params == null ? that.params == null : this.params.equals(that.params));
85 }
86
87 public String getUri() {
88 return this.uri;
89 }
90
91 public String getDomain() {
92 return this.serverName;
93 }
94
95 public String getLocale() {
96 return this.locale;
97 }
98
99 public Map<String, String> getParams() {
100 return params;
101 }
102
103
104 public String toString() {
105 return "DefaultCacheKey{" +
106 "uri='" + uri + '\'' +
107 ", serverName='" + serverName + '\'' +
108 ", locale='" + locale + '\'' +
109 ", params=" + params +
110 '}';
111 }
112
113 }