diff options
Diffstat (limited to 'NET/worlds/scape/UniqueHasher.java')
| -rw-r--r-- | NET/worlds/scape/UniqueHasher.java | 31 |
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; + } +} |