You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tv...@apache.org on 2023/01/08 19:49:52 UTC
[commons-jcs] 04/08: Add missing hashCode()/equals() methods
This is an automated email from the ASF dual-hosted git repository.
tv pushed a commit to branch release-3.2
in repository https://gitbox.apache.org/repos/asf/commons-jcs.git
commit dc4adae5fe1c9d4eaa78a98d3b59238105e0a51c
Author: Thomas Vandahl <tv...@apache.org>
AuthorDate: Sun Jan 8 20:01:23 2023 +0100
Add missing hashCode()/equals() methods
---
.../jcs3/auxiliary/disk/PurgatoryElement.java | 30 ++++++++++++++++++++++
.../jcs3/engine/CacheElementSerialized.java | 20 +++++++++++++++
2 files changed, 50 insertions(+)
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java
index 593356eb..90142002 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/PurgatoryElement.java
@@ -19,6 +19,8 @@ package org.apache.commons.jcs3.auxiliary.disk;
* under the License.
*/
+import java.util.Objects;
+
import org.apache.commons.jcs3.engine.CacheElement;
import org.apache.commons.jcs3.engine.behavior.ICacheElement;
import org.apache.commons.jcs3.engine.behavior.IElementAttributes;
@@ -135,6 +137,34 @@ public class PurgatoryElement<K, V>
cacheElement.setElementAttributes( attr );
}
+ /**
+ * @param obj other object
+ * @return true if this object key equals the key of obj
+ */
+ @Override
+ public boolean equals(final Object obj)
+ {
+ if (this == obj)
+ {
+ return true;
+ }
+ if (!(obj instanceof PurgatoryElement))
+ {
+ return false;
+ }
+ final PurgatoryElement<?,?> other = (PurgatoryElement<?,?>) obj;
+ return Objects.equals(getKey(), other.getKey());
+ }
+
+ /**
+ * @return a hash of the key only
+ */
+ @Override
+ public int hashCode()
+ {
+ return getKey().hashCode();
+ }
+
/**
* @return debug string
*/
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java
index 17788ba1..1964154e 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs3/engine/CacheElementSerialized.java
@@ -20,6 +20,7 @@ package org.apache.commons.jcs3.engine;
*/
import java.util.Arrays;
+import java.util.Objects;
import org.apache.commons.jcs3.engine.behavior.ICacheElementSerialized;
import org.apache.commons.jcs3.engine.behavior.IElementAttributes;
@@ -57,6 +58,25 @@ public class CacheElementSerialized<K, V>
return this.serializedValue;
}
+ /**
+ * @param obj other object
+ * @return true if this object key equals the key of obj
+ */
+ @Override
+ public boolean equals(final Object obj)
+ {
+ if (this == obj)
+ {
+ return true;
+ }
+ if (!(obj instanceof CacheElementSerialized))
+ {
+ return false;
+ }
+ final CacheElementSerialized<?,?> other = (CacheElementSerialized<?,?>) obj;
+ return Objects.equals(getKey(), other.getKey());
+ }
+
/**
* For debugging only.
* <p>