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 / ObjectStreamClass$EntryFuture.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.1 KB  |  52 lines

  1. package java.io;
  2.  
  3. import java.security.AccessController;
  4.  
  5. class ObjectStreamClass$EntryFuture {
  6.    private static final Object unset = new Object();
  7.    private final Thread owner;
  8.    private Object entry;
  9.  
  10.    private ObjectStreamClass$EntryFuture() {
  11.       this.owner = Thread.currentThread();
  12.       this.entry = unset;
  13.    }
  14.  
  15.    synchronized boolean set(Object var1) {
  16.       if (this.entry != unset) {
  17.          return false;
  18.       } else {
  19.          this.entry = var1;
  20.          this.notifyAll();
  21.          return true;
  22.       }
  23.    }
  24.  
  25.    synchronized Object get() {
  26.       boolean var1 = false;
  27.  
  28.       while(this.entry == unset) {
  29.          try {
  30.             this.wait();
  31.          } catch (InterruptedException var3) {
  32.             var1 = true;
  33.          }
  34.       }
  35.  
  36.       if (var1) {
  37.          AccessController.doPrivileged(new ObjectStreamClass.EntryFuture.1(this));
  38.       }
  39.  
  40.       return this.entry;
  41.    }
  42.  
  43.    Thread getOwner() {
  44.       return this.owner;
  45.    }
  46.  
  47.    // $FF: synthetic method
  48.    ObjectStreamClass$EntryFuture(ObjectStreamClass.1 var1) {
  49.       this();
  50.    }
  51. }
  52.