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 public class DefaultCacheKey implements Serializable {
45
46
47 private static final long serialVersionUID = 2699497852929596651L;
48
49 private String uri;
50 private String serverName;
51 private String channel;
52 private String locale;
53 private Map<String, String> params;
54 private Boolean isSecure;
55 private String method;
56
57
58
59
60 @Deprecated
61 public DefaultCacheKey(String uri, String serverName, String locale, Map<String, String> params) {
62 this(uri, serverName, locale, null, params, false);
63 }
64
65
66
67
68 @Deprecated
69 public DefaultCacheKey(String uri, String serverName, String locale, String channel, Map<String, String> params, Boolean isSecure) {
70 this(uri, serverName, locale, channel, null, params, isSecure);
71 }
72
73 public DefaultCacheKey(String uri, String serverName, String locale, String channel, String method, Map<String, String> params, Boolean isSecure) {
74 this.uri = uri;
75 this.serverName = serverName;
76 this.channel = channel;
77 this.locale = locale;
78 this.params = params == null ? null : Collections.unmodifiableMap(params);
79 this.isSecure = isSecure;
80 this.method = method == null ? null : method.toLowerCase();
81 }
82
83 @Override
84 public int hashCode() {
85 return (uri == null ? 13 : uri.hashCode())
86 + (serverName == null ? 17 : serverName.hashCode())
87 + (locale == null ? 23 : locale.hashCode())
88 + (channel == null ? 25 : channel.hashCode())
89 + (params == null ? 29 : params.hashCode())
90 + (isSecure == null ? 31 : isSecure.hashCode())
91 + (method == null ? 35 : method.hashCode());
92 }
93
94 @Override
95 public boolean equals(Object obj) {
96 if (this == obj) {
97 return true;
98 }
99 if (obj == null || !(obj instanceof DefaultCacheKey)) {
100 return false;
101 }
102 DefaultCacheKey that = (DefaultCacheKey) obj;
103 return this.uri == null ? that.uri == null : this.uri.equals(that.uri)
104 && (this.serverName == null ? that.serverName == null : this.serverName.equals(that.serverName))
105 && (this.locale == null ? that.locale == null : this.locale.equals(that.locale))
106 && (this.channel == null ? that.channel == null : this.channel.equals(that.channel))
107 && (this.params == null ? that.params == null : this.params.equals(that.params))
108 && (this.isSecure == null ? that.isSecure == null : this.isSecure.equals(that.isSecure))
109 && (this.method == null ? that.method == null : this.method.equals(that.method));
110 }
111
112 public String getUri() {
113 return uri;
114 }
115
116 public String getDomain() {
117 return serverName;
118 }
119
120 public String getLocale() {
121 return locale;
122 }
123
124 public String getChannel() {
125 return channel;
126 }
127
128 public Map<String, String> getParams() {
129 return params;
130 }
131
132 public Boolean getIsSecured() {
133 return this.isSecure;
134 }
135
136 public String getMethod() {
137 return method;
138 }
139
140
141 @Override
142 public String toString() {
143 return "DefaultCacheKey{" +
144 "uri='" + uri + '\'' +
145 ", serverName='" + serverName + '\'' +
146 ", locale='" + locale + '\'' +
147 ", channel='" + channel + '\'' +
148 ", params=" + params + '\'' +
149 ", secure='" + isSecure + "'" +
150 ", method='" + method + "'" +
151 '}';
152 }
153
154 }