[infinispan-commits] Infinispan SVN: r433 - trunk/core/src/main/java/org/infinispan/container/entries.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed Jun 10 19:11:28 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-06-10 19:11:28 -0400 (Wed, 10 Jun 2009)
New Revision: 433
Modified:
trunk/core/src/main/java/org/infinispan/container/entries/AbstractInternalCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheValue.java
trunk/core/src/main/java/org/infinispan/container/entries/InternalCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheValue.java
trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheValue.java
trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java
trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheValue.java
Log:
made cloneable
Modified: trunk/core/src/main/java/org/infinispan/container/entries/AbstractInternalCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/AbstractInternalCacheEntry.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/AbstractInternalCacheEntry.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -69,4 +69,12 @@
"key=" + key +
'}';
}
+
+ public AbstractInternalCacheEntry clone() {
+ try {
+ return (AbstractInternalCacheEntry) super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException("Should never happen!", e);
+ }
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheEntry.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheEntry.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -94,4 +94,11 @@
result = 31 * result + (cacheValue != null ? cacheValue.hashCode() : 0);
return result;
}
+
+ @Override
+ public ImmortalCacheEntry clone() {
+ ImmortalCacheEntry clone = (ImmortalCacheEntry) super.clone();
+ clone.cacheValue = cacheValue.clone();
+ return clone;
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheValue.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheValue.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/ImmortalCacheValue.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -6,7 +6,7 @@
* @author Manik Surtani
* @since 4.0
*/
-public class ImmortalCacheValue implements InternalCacheValue {
+public class ImmortalCacheValue implements InternalCacheValue, Cloneable {
Object value;
ImmortalCacheValue(Object value) {
@@ -74,4 +74,13 @@
"value=" + value +
'}';
}
+
+ @Override
+ public ImmortalCacheValue clone() {
+ try {
+ return (ImmortalCacheValue) super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException("Should never happen", e);
+ }
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/InternalCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/InternalCacheEntry.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/InternalCacheEntry.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -6,7 +6,7 @@
* @author Manik Surtani
* @since 4.0
*/
-public interface InternalCacheEntry extends CacheEntry {
+public interface InternalCacheEntry extends CacheEntry, Cloneable {
/**
* @return true if the entry has expired; false otherwise
*/
@@ -78,4 +78,6 @@
* @return a new InternalCacheValue encapsulating this InternalCacheEntry's value and expiration information.
*/
InternalCacheValue toInternalCacheValue();
+
+ InternalCacheEntry clone();
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheEntry.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheEntry.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -37,7 +37,7 @@
public InternalCacheEntry setMaxIdle(long maxIdle) {
if (maxIdle > -1) {
- TransientMortalCacheEntry tmce = new TransientMortalCacheEntry(key, cacheValue.value );
+ TransientMortalCacheEntry tmce = new TransientMortalCacheEntry(key, cacheValue.value);
tmce.setMaxIdle(maxIdle);
return tmce;
} else {
@@ -90,7 +90,8 @@
MortalCacheEntry that = (MortalCacheEntry) o;
if (key != null ? !key.equals(that.key) : that.key != null) return false;
- if (cacheValue.value != null ? !cacheValue.value.equals(that.cacheValue.value) : that.cacheValue.value != null) return false;
+ if (cacheValue.value != null ? !cacheValue.value.equals(that.cacheValue.value) : that.cacheValue.value != null)
+ return false;
if (cacheValue.created != that.cacheValue.created) return false;
return cacheValue.lifespan == that.cacheValue.lifespan;
}
@@ -103,4 +104,12 @@
result = 31 * result + (int) (cacheValue.lifespan ^ (cacheValue.lifespan >>> 32));
return result;
}
+
+ @Override
+ public MortalCacheEntry clone() {
+ MortalCacheEntry clone = (MortalCacheEntry) super.clone();
+ clone.cacheValue = cacheValue.clone();
+ return clone;
+ }
+
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheValue.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheValue.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/MortalCacheValue.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -79,4 +79,9 @@
", lifespan=" + lifespan +
"} " + super.toString();
}
+
+ @Override
+ public MortalCacheValue clone() {
+ return (MortalCacheValue) super.clone();
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheEntry.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -8,7 +8,7 @@
*/
public class TransientCacheEntry extends AbstractInternalCacheEntry {
- private TransientCacheValue cacheValue;
+ private TransientCacheValue cacheValue;
TransientCacheEntry(Object key, Object value, long maxIdle) {
this(key, value, maxIdle, System.currentTimeMillis());
@@ -90,7 +90,8 @@
TransientCacheEntry that = (TransientCacheEntry) o;
if (key != null ? !key.equals(that.key) : that.key != null) return false;
- if (cacheValue.value != null ? !cacheValue.value.equals(that.cacheValue.value) : that.cacheValue.value != null) return false;
+ if (cacheValue.value != null ? !cacheValue.value.equals(that.cacheValue.value) : that.cacheValue.value != null)
+ return false;
if (cacheValue.lastUsed != that.cacheValue.lastUsed) return false;
if (cacheValue.maxIdle != that.cacheValue.maxIdle) return false;
@@ -105,4 +106,12 @@
result = 31 * result + (int) (cacheValue.maxIdle ^ (cacheValue.maxIdle >>> 32));
return result;
}
+
+ @Override
+ public TransientCacheEntry clone() {
+ TransientCacheEntry clone = (TransientCacheEntry) super.clone();
+ clone.cacheValue = cacheValue.clone();
+ return clone;
+ }
+
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheValue.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheValue.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/TransientCacheValue.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -78,4 +78,9 @@
", lastUsed=" + lastUsed +
"} " + super.toString();
}
+
+ @Override
+ public TransientCacheValue clone() {
+ return (TransientCacheValue) super.clone();
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheEntry.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -109,5 +109,12 @@
result = 31 * result + (int) (cacheValue.lifespan ^ (cacheValue.lifespan >>> 32));
return result;
}
+
+ @Override
+ public TransientMortalCacheEntry clone() {
+ TransientMortalCacheEntry clone = (TransientMortalCacheEntry) super.clone();
+ clone.cacheValue = cacheValue.clone();
+ return clone;
+ }
}
Modified: trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheValue.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheValue.java 2009-06-10 21:39:12 UTC (rev 432)
+++ trunk/core/src/main/java/org/infinispan/container/entries/TransientMortalCacheValue.java 2009-06-10 23:11:28 UTC (rev 433)
@@ -80,4 +80,9 @@
", lastUsed=" + lastUsed +
"} " + super.toString();
}
+
+ @Override
+ public TransientMortalCacheValue clone() {
+ return (TransientMortalCacheValue) super.clone();
+ }
}
More information about the infinispan-commits
mailing list