home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / net / ProgressData.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.3 KB  |  81 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.             if (this.streams[var2] == null) {
  24.                this.streams[var2] = var1;
  25.                var1.what = 0;
  26.                var1.index = var2;
  27.                var3 = true;
  28.                break;
  29.             }
  30.          }
  31.       }
  32.  
  33.       if (var3) {
  34.          ((Observable)this).setChanged();
  35.          ((Observable)this).notifyObservers(var1);
  36.       }
  37.  
  38.    }
  39.  
  40.    public void connected(URL var1) {
  41.    }
  42.  
  43.    public void unregister(ProgressEntry var1) {
  44.       synchronized(this) {
  45.          int var3 = var1.index;
  46.          if (var3 < 0 || var3 > this.streams.length || this.streams[var3] != var1) {
  47.             return;
  48.          }
  49.  
  50.          var1.what = 3;
  51.          this.streams[var3] = null;
  52.          ((Observable)this).setChanged();
  53.       }
  54.  
  55.       ((Observable)this).notifyObservers(var1);
  56.    }
  57.  
  58.    public void update(ProgressEntry var1) {
  59.       synchronized(this) {
  60.          int var3 = var1.index;
  61.          if (var3 < 0 || var3 > this.streams.length || this.streams[var3] != var1) {
  62.             return;
  63.          }
  64.  
  65.          var1.what = 2;
  66.          if (!var1.connected()) {
  67.             var1.what = 1;
  68.          }
  69.  
  70.          if (var1.read >= var1.need && var1.read != 0) {
  71.             this.streams[var3] = null;
  72.             var1.what = 3;
  73.          }
  74.  
  75.          ((Observable)this).setChanged();
  76.       }
  77.  
  78.       ((Observable)this).notifyObservers(var1);
  79.    }
  80. }
  81.