home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 139 / dpcs0999.iso / Web / CFserver / data1.cab / Java / allaire / util / template / SymbolTable.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-12  |  1.8 KB  |  59 lines

  1. package allaire.util.template;
  2.  
  3. import netscape.util.Enumeration;
  4. import netscape.util.Hashtable;
  5.  
  6. public class SymbolTable {
  7.    private Hashtable m_symbols = new Hashtable();
  8.  
  9.    public SymbolTable(Hashtable var1) throws SymbolTableException {
  10.       Enumeration var2 = var1.keys();
  11.  
  12.       while(var2.hasMoreElements()) {
  13.          String var3 = (String)var2.nextElement();
  14.          this.set(var3.toUpperCase(), var1.get(var3));
  15.       }
  16.  
  17.    }
  18.  
  19.    public void set(String var1, Object var2) throws SymbolTableException {
  20.       this.verifySymbol(var1);
  21.       this.m_symbols.put(var1.toUpperCase(), var2);
  22.    }
  23.  
  24.    public Object get(String var1) {
  25.       return this.m_symbols.get(var1.toUpperCase());
  26.    }
  27.  
  28.    public final Object getRequired(String var1) throws SymbolTableException {
  29.       Object var2 = this.get(var1);
  30.       if (var2 != null) {
  31.          return var2;
  32.       } else {
  33.          throw new SymbolTableException(202, "Attempted to retrieve the value of a variable (" + var1 + ") which does not currently exist.");
  34.       }
  35.    }
  36.  
  37.    public final String getString(String var1) {
  38.       Object var2 = this.get(var1);
  39.       return var2 == null ? null : var2.toString();
  40.    }
  41.  
  42.    public final String getStringRequired(String var1) throws SymbolTableException {
  43.       return this.getRequired(var1).toString();
  44.    }
  45.  
  46.    protected void verifySymbol(String var1) throws SymbolTableException {
  47.       if (var1.length() == 0) {
  48.          throw new SymbolTableException(201, "Attempted to set a variable value without a valid " + "variable name.");
  49.       }
  50.    }
  51.  
  52.    public void remove(String var1) {
  53.       this.m_symbols.remove(var1.toUpperCase());
  54.    }
  55.  
  56.    public SymbolTable() {
  57.    }
  58. }
  59.