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