1 30 31 32 package org.hsqldb; 33 34 import org.hsqldb.HsqlNameManager.HsqlName; 35 import org.hsqldb.lib.HashMap; 36 import org.hsqldb.lib.Iterator; 37 38 47 class DatabaseObjectNames { 48 49 HashMap nameList = new HashMap(); 50 51 DatabaseObjectNames() {} 52 53 boolean containsName(String name) { 54 return nameList.containsKey(name); 55 } 56 57 HsqlName getOwner(String name) { 58 return (HsqlName) nameList.get(name); 59 } 60 61 void addName(String name, HsqlName owner, 62 int errorcode) throws HsqlException { 63 64 if (containsName(name)) { 66 throw Trace.error(errorcode, name); 67 } 68 69 nameList.put(name, owner); 70 } 71 72 void rename(String name, String newname, 73 int errorcode) throws HsqlException { 74 75 HsqlName owner = (HsqlName) nameList.get(name); 76 77 addName(newname, owner, errorcode); 78 nameList.remove(name); 79 } 80 81 Object removeName(String name) throws HsqlException { 82 83 Object owner = nameList.remove(name); 84 85 if (owner == null) { 86 87 throw Trace.error(Trace.GENERAL_ERROR); 89 } 90 91 return owner; 92 } 93 94 void removeOwner(HsqlName owner) { 95 96 Iterator it = nameList.values().iterator(); 97 98 while (it.hasNext()) { 99 Object currentvalue = it.next(); 100 101 if (owner.equals(currentvalue)) { 102 it.remove(); 103 } 104 } 105 } 106 } 107 | Popular Tags |