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 / InheritableThreadLocal.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.5 KB  |  54 lines

  1. package java.lang;
  2.  
  3. import java.util.Collections;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. public class InheritableThreadLocal extends ThreadLocal {
  8.    private static final int INITIAL_CAPACITY = 11;
  9.  
  10.    public Object get() {
  11.       Thread var1 = Thread.currentThread();
  12.       Map var2 = var1.inheritableThreadLocals;
  13.       Object var3 = var2.get(super.key);
  14.       if (var3 == null && !var2.containsKey(super.key)) {
  15.          if (var2 == Collections.EMPTY_MAP) {
  16.             var2 = var1.inheritableThreadLocals = new HashMap(11);
  17.          }
  18.  
  19.          var3 = ((ThreadLocal)this).initialValue();
  20.          var2.put(super.key, var3);
  21.       }
  22.  
  23.       return var3;
  24.    }
  25.  
  26.    public void set(Object var1) {
  27.       Thread var2 = Thread.currentThread();
  28.       Map var3 = var2.inheritableThreadLocals;
  29.       if (var3 == Collections.EMPTY_MAP) {
  30.          var3 = var2.inheritableThreadLocals = new HashMap(11);
  31.       }
  32.  
  33.       var3.put(super.key, var1);
  34.    }
  35.  
  36.    protected Object childValue(Object var1) {
  37.       return var1;
  38.    }
  39.  
  40.    static void bequeath(Thread var0, Thread var1) {
  41.       Map var2 = var0.inheritableThreadLocals;
  42.       if (var2 != Collections.EMPTY_MAP) {
  43.          Map var3 = var1.inheritableThreadLocals = new HashMap(11);
  44.  
  45.          for(Map.Entry var5 : var2.entrySet()) {
  46.             ThreadLocal.SecureKey var6 = (ThreadLocal.SecureKey)var5.getKey();
  47.             InheritableThreadLocal var7 = (InheritableThreadLocal)var6.threadLocal();
  48.             var3.put(var6, var7.childValue(var5.getValue()));
  49.          }
  50.  
  51.       }
  52.    }
  53. }
  54.