home *** CD-ROM | disk | FTP | other *** search
- package java.lang;
-
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.Map;
-
- public class InheritableThreadLocal extends ThreadLocal {
- private static final int INITIAL_CAPACITY = 11;
-
- public Object get() {
- Thread var1 = Thread.currentThread();
- Map var2 = var1.inheritableThreadLocals;
- Object var3 = var2.get(super.key);
- if (var3 == null && !var2.containsKey(super.key)) {
- if (var2 == Collections.EMPTY_MAP) {
- var2 = var1.inheritableThreadLocals = new HashMap(11);
- }
-
- var3 = ((ThreadLocal)this).initialValue();
- var2.put(super.key, var3);
- }
-
- return var3;
- }
-
- public void set(Object var1) {
- Thread var2 = Thread.currentThread();
- Map var3 = var2.inheritableThreadLocals;
- if (var3 == Collections.EMPTY_MAP) {
- var3 = var2.inheritableThreadLocals = new HashMap(11);
- }
-
- var3.put(super.key, var1);
- }
-
- protected Object childValue(Object var1) {
- return var1;
- }
-
- static void bequeath(Thread var0, Thread var1) {
- Map var2 = var0.inheritableThreadLocals;
- if (var2 != Collections.EMPTY_MAP) {
- Map var3 = var1.inheritableThreadLocals = new HashMap(11);
-
- for(Map.Entry var5 : var2.entrySet()) {
- ThreadLocal.SecureKey var6 = (ThreadLocal.SecureKey)var5.getKey();
- InheritableThreadLocal var7 = (InheritableThreadLocal)var6.threadLocal();
- var3.put(var6, var7.childValue(var5.getValue()));
- }
-
- }
- }
- }
-