diff --git a/caching/src/main/java/avrobase/caching/BytesKey.java b/caching/src/main/java/avrobase/caching/BytesKey.java new file mode 100644 index 0000000..54a8b4d --- /dev/null +++ b/caching/src/main/java/avrobase/caching/BytesKey.java @@ -0,0 +1,43 @@ +package avrobase.caching; + +/** +* TODO: Edit this +*

+* User: sam +* Date: 5/11/11 +* Time: 7:15 PM +*/ +public class BytesKey { + private final byte[] key; + + public BytesKey(byte[] key) { + this.key = key; + } + + @Override + public boolean equals(Object o) { + if (o instanceof BytesKey) { + BytesKey other = (BytesKey) o; + byte[] otherkey = other.key; + if (key.length == otherkey.length) { + int i = 0; + for (byte b : key) { + if (b != otherkey[i++]) { + return false; + } + } + return true; + } + } + return false; + } + + @Override + public int hashCode() { + int hashcode = 0; + for (byte aKey : key) { + hashcode += aKey + hashcode * 43; + } + return hashcode; + } +} diff --git a/caching/src/main/java/avrobase/caching/BytesKeyMaker.java b/caching/src/main/java/avrobase/caching/BytesKeyMaker.java new file mode 100644 index 0000000..0218e83 --- /dev/null +++ b/caching/src/main/java/avrobase/caching/BytesKeyMaker.java @@ -0,0 +1,7 @@ +package avrobase.caching; + +public class BytesKeyMaker implements Cacher.KeyMaker { + public Object make(byte[] key) { + return new BytesKey(key); + } +} diff --git a/caching/src/test/java/avrobase/caching/CacherTest.java b/caching/src/test/java/avrobase/caching/CacherTest.java index ee2da22..28be647 100644 --- a/caching/src/test/java/avrobase/caching/CacherTest.java +++ b/caching/src/test/java/avrobase/caching/CacherTest.java @@ -89,38 +89,4 @@ public Object make(final byte[] key) { System.out.println(beaconCacher); } - private static class BytesKey { - private final byte[] key; - - public BytesKey(byte[] key) { - this.key = key; - } - - @Override - public boolean equals(Object o) { - if (o instanceof BytesKey) { - BytesKey other = (BytesKey) o; - byte[] otherkey = other.key; - if (key.length == otherkey.length) { - int i = 0; - for (byte b : key) { - if (b != otherkey[i++]) { - return false; - } - } - return true; - } - } - return false; - } - - @Override - public int hashCode() { - int hashcode = 0; - for (byte aKey : key) { - hashcode += aKey + hashcode * 43; - } - return hashcode; - } - } }