home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / io / ObjectOutputStream$ReplaceTable.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.1 KB  |  44 lines

  1. package java.io;
  2.  
  3. import java.util.Arrays;
  4.  
  5. class ObjectOutputStream$ReplaceTable {
  6.    private final ObjectOutputStream.HandleTable htab;
  7.    private Object[] reps;
  8.  
  9.    ObjectOutputStream$ReplaceTable(int var1, float var2) {
  10.       this.htab = new ObjectOutputStream.HandleTable(var1, var2);
  11.       this.reps = new Object[var1];
  12.    }
  13.  
  14.    void assign(Object var1, Object var2) {
  15.       int var3 = this.htab.assign(var1);
  16.  
  17.       while(var3 >= this.reps.length) {
  18.          this.grow();
  19.       }
  20.  
  21.       this.reps[var3] = var2;
  22.    }
  23.  
  24.    Object lookup(Object var1) {
  25.       int var2 = this.htab.lookup(var1);
  26.       return var2 >= 0 ? this.reps[var2] : var1;
  27.    }
  28.  
  29.    void clear() {
  30.       Arrays.fill(this.reps, 0, this.htab.size(), (Object)null);
  31.       this.htab.clear();
  32.    }
  33.  
  34.    int size() {
  35.       return this.htab.size();
  36.    }
  37.  
  38.    private void grow() {
  39.       Object[] var1 = new Object[(this.reps.length << 1) + 1];
  40.       System.arraycopy(this.reps, 0, var1, 0, this.reps.length);
  41.       this.reps = var1;
  42.    }
  43. }
  44.