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 / java / lang / ref / Reference.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.8 KB  |  74 lines

  1. package java.lang.ref;
  2.  
  3. public abstract class Reference {
  4.    private Object referent;
  5.    ReferenceQueue queue;
  6.    Reference next;
  7.    private static Lock lock = new Lock((1)null);
  8.    private static Reference pending = null;
  9.  
  10.    public Object get() {
  11.       return this.referent;
  12.    }
  13.  
  14.    public void clear() {
  15.       this.referent = null;
  16.    }
  17.  
  18.    public boolean isEnqueued() {
  19.       synchronized(this) {
  20.          boolean var2 = this.queue != ReferenceQueue.NULL && this.next != null;
  21.          return var2;
  22.       }
  23.    }
  24.  
  25.    public boolean enqueue() {
  26.       return this.queue.enqueue(this);
  27.    }
  28.  
  29.    Reference(Object var1) {
  30.       this(var1, (ReferenceQueue)null);
  31.    }
  32.  
  33.    Reference(Object var1, ReferenceQueue var2) {
  34.       this.referent = var1;
  35.       if (var1 == null) {
  36.          this.queue = ReferenceQueue.NULL;
  37.          this.next = this;
  38.       } else {
  39.          this.queue = var2 == null ? ReferenceQueue.NULL : var2;
  40.          this.next = null;
  41.       }
  42.  
  43.    }
  44.  
  45.    // $FF: synthetic method
  46.    static Lock access$100() {
  47.       return lock;
  48.    }
  49.  
  50.    // $FF: synthetic method
  51.    static Reference access$200() {
  52.       return pending;
  53.    }
  54.  
  55.    // $FF: synthetic method
  56.    static Reference access$202(Reference var0) {
  57.       pending = var0;
  58.       return var0;
  59.    }
  60.  
  61.    static {
  62.       ThreadGroup var0 = Thread.currentThread().getThreadGroup();
  63.  
  64.       for(ThreadGroup var1 = var0; var1 != null; var1 = var1.getParent()) {
  65.          var0 = var1;
  66.       }
  67.  
  68.       ReferenceHandler var2 = new ReferenceHandler(var0, "Reference Handler");
  69.       ((Thread)var2).setPriority(10);
  70.       ((Thread)var2).setDaemon(true);
  71.       ((Thread)var2).start();
  72.    }
  73. }
  74.