12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others. 22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.normalizer; 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.HashMap; 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.Map; 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 1998-2010, International Business Machines Corporation and * 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Unicode, Inc. All Rights Reserved. * 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Integer-String hash table. Uses Java Hashtable for now. 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @author Mark Davis 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class IntStringHashtable { 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public IntStringHashtable (String defaultValue) { 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert this.defaultValue = defaultValue; 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void put(int key, String value) { 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (value == defaultValue) { 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert table.remove(new Integer(key)); 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } else { 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert table.put(new Integer(key), value); 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public String get(int key) { 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String value = table.get(new Integer(key)); 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (value == null) return defaultValue; 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return value; 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private String defaultValue; 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private Map<Integer, String> table = new HashMap<Integer, String>(); 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert}