summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/UniqueHasher.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/scape/UniqueHasher.java')
-rw-r--r--NET/worlds/scape/UniqueHasher.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/NET/worlds/scape/UniqueHasher.java b/NET/worlds/scape/UniqueHasher.java
new file mode 100644
index 0000000..193a145
--- /dev/null
+++ b/NET/worlds/scape/UniqueHasher.java
@@ -0,0 +1,31 @@
+package NET.worlds.scape;
+
+import java.util.Hashtable;
+
+public class UniqueHasher {
+ private int currentHash = 0;
+ private static UniqueHasher uh_;
+ private Hashtable ht = new Hashtable();
+
+ private UniqueHasher() {
+ }
+
+ public static UniqueHasher uh() {
+ if (uh_ == null) {
+ uh_ = new UniqueHasher();
+ }
+
+ return uh_;
+ }
+
+ public int hash(Object toHash) {
+ Integer value = (Integer)this.ht.get(toHash);
+ if (value == null) {
+ this.currentHash++;
+ value = new Integer(this.currentHash);
+ this.ht.put(toHash, value);
+ }
+
+ return value;
+ }
+}