1 /*
2 * The contents of this file are subject to the BT "ZEUS" Open Source
3 * Licence (L77741), Version 1.0 (the "Licence"); you may not use this file
4 * except in compliance with the Licence. You may obtain a copy of the Licence
5 * from $ZEUS_INSTALL/licence.html or alternatively from
6 * http://www.labs.bt.com/projects/agents/zeus/licence.htm
7 *
8 * Except as stated in Clause 7 of the Licence, software distributed under the
9 * Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or
10 * implied. See the Licence for the specific language governing rights and
11 * limitations under the Licence.
12 *
13 * The Original Code is within the package zeus.*.
14 * The Initial Developer of the Original Code is British Telecommunications
15 * public limited company, whose registered office is at 81 Newgate Street,
16 * London, EC1A 7AJ, England. Portions created by British Telecommunications
17 * public limited company are Copyright 1996-9. All Rights Reserved.
18 *
19 * THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
20 */
21
22
23 package zeus.util;
24 import java.util.*;
25
26 /***
27 StringHashtable is a very primitive class that allows you to have a hashtable
28 that is keyed on string values rather than string object identities.
29 */
30 public class StringHashtable extends Hashtable {
31
32
33 public StringHashtable () {
34 super(); }
35
36
37
38 public int noElements() {
39 Enumeration keys = this.keys();
40 int counter = 0;
41 while (keys.hasMoreElements()) {
42 counter++;
43 keys.nextElement(); }
44 return (counter);
45 }
46
47
48 public Object getForString(String key) {
49 Enumeration allKeys = this.keys();
50 String currentKey = null;
51 while (allKeys.hasMoreElements()) {
52 currentKey = (String) allKeys.nextElement();
53 if (currentKey.equals(key)) {
54 return (this.get(currentKey));
55 }
56 }
57 return(null); }
58
59
60
61 public void removeForString(String key) {
62 Enumeration allKeys = this.keys();
63 String currentKey = null;
64 while (allKeys.hasMoreElements()) {
65 currentKey = (String) allKeys.nextElement();
66 if (currentKey.equals(key)) {
67 remove(currentKey);
68 return;
69 }
70 }
71 return; }
72
73
74 }