From 73ced03eaed2f00444fa7068120b9cdfd87cb86e Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Wed, 10 Nov 2010 20:08:54 +0200 Subject: [PATCH] + add equals/hashcode contract to Redis collections --- .../redis/util/AbstractRedisCollection.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/spring-datastore-redis/src/main/java/org/springframework/datastore/redis/util/AbstractRedisCollection.java b/spring-datastore-redis/src/main/java/org/springframework/datastore/redis/util/AbstractRedisCollection.java index 717dd8894..538e745ac 100644 --- a/spring-datastore-redis/src/main/java/org/springframework/datastore/redis/util/AbstractRedisCollection.java +++ b/spring-datastore-redis/src/main/java/org/springframework/datastore/redis/util/AbstractRedisCollection.java @@ -92,4 +92,26 @@ public abstract class AbstractRedisCollection extends AbstractCollection i public boolean retainAll(Collection c) { throw new UnsupportedOperationException(); } + + @Override + public boolean equals(Object o) { + if (o == this) + return true; + + if (o instanceof RedisStore) { + return key.equals(((RedisStore) o).getKey()); + } + if (o instanceof AbstractRedisCollection) { + return o.hashCode() == hashCode(); + } + + return false; + } + + @Override + public int hashCode() { + int result = 17 + getClass().hashCode(); + result = result * 31 + key.hashCode(); + return result; + } } \ No newline at end of file