home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / sun / net / ProgressData.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  1.6 KB  |  99 lines

  1. package sun.net;
  2.  
  3. import java.net.URL;
  4. import java.util.Observable;
  5.  
  6. public class ProgressData extends Observable {
  7.    public static ProgressData pdata = new ProgressData();
  8.    public static final int NEW = 0;
  9.    public static final int CONNECTED = 1;
  10.    public static final int UPDATE = 2;
  11.    public static final int DELETE = 3;
  12.    private ProgressEntry[] streams = new ProgressEntry[20];
  13.  
  14.    public synchronized ProgressEntry[] getStreams() {
  15.       return (ProgressEntry[])this.streams.clone();
  16.    }
  17.  
  18.    public void register(ProgressEntry var1) {
  19.       boolean var3 = false;
  20.  
  21.       for(int var2 = 0; var2 < this.streams.length; ++var2) {
  22.          synchronized(this){}
  23.  
  24.          try {
  25.             if (this.streams[var2] == null) {
  26.                this.streams[var2] = var1;
  27.                var1.what = 0;
  28.                var1.index = var2;
  29.                var3 = true;
  30.                break;
  31.             }
  32.          } catch (Throwable var7) {
  33.             throw var7;
  34.          }
  35.       }
  36.  
  37.       if (var3) {
  38.          ((Observable)this).setChanged();
  39.          ((Observable)this).notifyObservers(var1);
  40.       }
  41.  
  42.    }
  43.  
  44.    public void connected(URL var1) {
  45.    }
  46.  
  47.    public void unregister(ProgressEntry var1) {
  48.       synchronized(this){}
  49.  
  50.       label48: {
  51.          try {
  52.             int var4 = var1.index;
  53.             if (var4 >= 0 && var4 <= this.streams.length && this.streams[var4] == var1) {
  54.                var1.what = 3;
  55.                this.streams[var4] = null;
  56.                ((Observable)this).setChanged();
  57.                break label48;
  58.             }
  59.          } catch (Throwable var6) {
  60.             throw var6;
  61.          }
  62.  
  63.          return;
  64.       }
  65.  
  66.       ((Observable)this).notifyObservers(var1);
  67.    }
  68.  
  69.    public void update(ProgressEntry var1) {
  70.       synchronized(this){}
  71.  
  72.       label69: {
  73.          try {
  74.             int var4 = var1.index;
  75.             if (var4 >= 0 && var4 <= this.streams.length && this.streams[var4] == var1) {
  76.                var1.what = 2;
  77.                if (!var1.connected()) {
  78.                   var1.what = 1;
  79.                }
  80.  
  81.                if (var1.read >= var1.need && var1.read != 0) {
  82.                   this.streams[var4] = null;
  83.                   var1.what = 3;
  84.                }
  85.  
  86.                ((Observable)this).setChanged();
  87.                break label69;
  88.             }
  89.          } catch (Throwable var6) {
  90.             throw var6;
  91.          }
  92.  
  93.          return;
  94.       }
  95.  
  96.       ((Observable)this).notifyObservers(var1);
  97.    }
  98. }
  99.