home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 August / PCO0897.ISO / filesbbs / os2 / fp1os2.arj / OS2 / DATA / 49 / C / 0 / F_26836 / JSbxNameArray.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-15  |  2.0 KB  |  58 lines

  1. import java.io.PrintStream;
  2. import java.util.Enumeration;
  3.  
  4. public class JSbxNameArray extends JSbxBase {
  5.    private static final int HASH_TABLE_START_SIZE = 10;
  6.    private static final float HASH_TABLE_LOAD_FACTOR = 0.8F;
  7.    private JSbxHashtable aHashTable;
  8.  
  9.    public JSbxNameArray() {
  10.       this(10, 0.8F);
  11.    }
  12.  
  13.    public JSbxNameArray(int var1, float var2) {
  14.       this.aHashTable = new JSbxHashtable(var1, var2);
  15.    }
  16.  
  17.    public void Put(JSbxProperty var1) throws JSbxException {
  18.       String var2 = var1.GetName();
  19.       Object var3 = this.aHashTable.put(var2, var1);
  20.       if (var3 != null && !var2.equals("length")) {
  21.          throw new JSbxException(4714, "Array-Entry already exists! " + var1.GetName());
  22.       }
  23.    }
  24.  
  25.    public JSbxProperty Get(Object var1) {
  26.       return (JSbxProperty)this.aHashTable.get(var1);
  27.    }
  28.  
  29.    public JSbxProperty Remove(Object var1) {
  30.       return (JSbxProperty)this.aHashTable.remove(var1);
  31.    }
  32.  
  33.    public final int GetSize() {
  34.       return this.aHashTable.size();
  35.    }
  36.  
  37.    public JSbxProperty[] GetArrayOfProperties() {
  38.       JSbxProperty[] var1 = new JSbxProperty[this.GetSize()];
  39.       Enumeration var2 = this.aHashTable.elements();
  40.  
  41.       for(int var3 = 0; var2.hasMoreElements(); var1[var3++] = (JSbxProperty)var2.nextElement()) {
  42.       }
  43.  
  44.       return var1;
  45.    }
  46.  
  47.    public void Dump(PrintStream var1, int var2, int var3) throws JSbxException {
  48.       JSbxProperty[] var4 = this.GetArrayOfProperties();
  49.       String var5 = JSbxBase.GetTabStr(var2);
  50.  
  51.       for(int var6 = 0; var6 < var4.length; ++var6) {
  52.          var1.print(var5 + "Nr." + var6 + " = ");
  53.          var4[var6].Dump(var1, var2, var3);
  54.       }
  55.  
  56.    }
  57. }
  58.