You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2009/02/12 10:43:47 UTC
svn commit: r743672 -
/cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/ParameterCacheKey.java
Author: stevendolg
Date: Thu Feb 12 09:43:47 2009
New Revision: 743672
URL: http://svn.apache.org/viewvc?rev=743672&view=rev
Log:
COCOON3-30
Modified:
cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/ParameterCacheKey.java
Modified: cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/ParameterCacheKey.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/ParameterCacheKey.java?rev=743672&r1=743671&r2=743672&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/ParameterCacheKey.java (original)
+++ cocoon/cocoon3/trunk/cocoon-pipeline/src/main/java/org/apache/cocoon/pipeline/caching/ParameterCacheKey.java Thu Feb 12 09:43:47 2009
@@ -16,6 +16,7 @@
*/
package org.apache.cocoon.pipeline.caching;
+import java.util.HashMap;
import java.util.Map;
/**
@@ -26,10 +27,23 @@
private static final long serialVersionUID = 1L;
private final Map<String, Object> parameters;
+ public ParameterCacheKey() {
+ this(new HashMap<String, Object>());
+ }
+
public ParameterCacheKey(Map<String, Object> parameters) {
this.parameters = parameters;
}
+ public ParameterCacheKey(String name, Object value) {
+ this();
+ this.addParameter(name, value);
+ }
+
+ public void addParameter(String name, Object value) {
+ this.parameters.put(name, value);
+ }
+
/**
* {@inheritDoc}
*
@@ -41,7 +55,12 @@
return false;
}
- return true;
+ ParameterCacheKey other = (ParameterCacheKey) obj;
+ return this.parameters != null && this.parameters.equals(other.parameters);
+ }
+
+ public long getLastModified() {
+ return -1;
}
/**
@@ -51,7 +70,13 @@
*/
@Override
public int hashCode() {
- return ParameterCacheKey.class.hashCode();
+ int hashCode = ParameterCacheKey.class.hashCode();
+
+ if (this.parameters != null) {
+ hashCode = 31 * hashCode + this.parameters.hashCode();
+ }
+
+ return hashCode;
}
/**
@@ -60,15 +85,6 @@
* @see org.apache.cocoon.pipeline.caching.CacheKey#isValid(org.apache.cocoon.pipeline.caching.CacheKey)
*/
public boolean isValid(CacheKey cacheKey) {
- if (!this.equals(cacheKey)) {
- return false;
- }
-
- ParameterCacheKey other = (ParameterCacheKey) cacheKey;
- return this.parameters.equals(other.parameters);
- }
-
- public long getLastModified() {
- return -1;
+ return this.equals(cacheKey);
}
}