From 0eebfbacd75b6d072aa24f74c5fbe7e38d25666b Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 1 Jan 2011 20:07:34 +0000
Subject: [PATCH] generics

---
 .../router/networkdb/kademlia/XORComparator.java   | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/XORComparator.java b/router/java/src/net/i2p/router/networkdb/kademlia/XORComparator.java
index 3c2b9d2d2c..71dbefc6e2 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/XORComparator.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/XORComparator.java
@@ -9,7 +9,7 @@ import net.i2p.data.Hash;
  * Help sort Hashes in relation to a base key using the XOR metric
  *
  */
-class XORComparator implements Comparator {
+class XORComparator implements Comparator<Hash> {
     private Hash _base;
     /**
      * @param target key to compare distances with
@@ -17,15 +17,11 @@ class XORComparator implements Comparator {
     public XORComparator(Hash target) {
         _base = target;
     }
-    public int compare(Object lhs, Object rhs) {
+    public int compare(Hash lhs, Hash rhs) {
         if (lhs == null) throw new NullPointerException("LHS is null");
         if (rhs == null) throw new NullPointerException("RHS is null");
-        if ( (lhs instanceof Hash) && (rhs instanceof Hash) ) {
-            byte lhsDelta[] = DataHelper.xor(((Hash)lhs).getData(), _base.getData());
-            byte rhsDelta[] = DataHelper.xor(((Hash)rhs).getData(), _base.getData());
-            return DataHelper.compareTo(lhsDelta, rhsDelta);
-        } else {
-            throw new ClassCastException(lhs.getClass().getName() + " / " + rhs.getClass().getName());
-        }
+        byte lhsDelta[] = DataHelper.xor(lhs.getData(), _base.getData());
+        byte rhsDelta[] = DataHelper.xor(rhs.getData(), _base.getData());
+        return DataHelper.compareTo(lhsDelta, rhsDelta);
     }
 }
-- 
GitLab