/Users/lyon/j4p/src/bookExamples/ch05ControlStructs/StringSwitch.java
|
1 /*
2 * StringSwitch.java
3 *
4 * Created on October 30, 2002, 1:18 PM
5 */
6
7 package bookExamples.ch05ControlStructs;
8
9
10 import java.util.HashMap;
11 import java.util.Map;
12
13 /**
14 * StringSwitch class - shows how to build a class
15 * that supports switch based on strings.
16 * @author Thomas Rowland and Douglas A. Lyon
17 * @version October 30, 2002, 1:18 PM
18 */
19 class StringSwitch {
20
21 /** Map used to store String-int mappings and provide fast lookup */
22 private Map map = new HashMap();
23
24 /**
25 * Adds a key-value pair to the hashmap.
26 * Map.put provides constant-time performance.
27 * @param key the key object, which is a String
28 * @param value the value, which is an int
29 */
30 protected final void add(String key, final int value) {
31 map.put(key, new Integer(value));
32 }
33
34 /**
35 * Retrieves a value from the hashmap give the key.
36 * Map.put provides constant-time performance.
37 * @param key the key object, which is a String
38 * @return the value to which the key is mapped
39 */
40 protected int getIdForString(String key) {
41 return ((Integer) map.get(key)).intValue();
42 }
43 }//class
44