public final class org.wildfly.common.context.ContextManager extends java.lang.Object implements java.util.function.Supplier
{
private final java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef;
private final java.util.concurrent.ConcurrentHashMap perClassLoaderDefault;
private final java.lang.Class type;
private final java.lang.String name;
private final java.lang.ThreadLocal stateRef;
private final org.wildfly.common.context.ContextPermission getPermission;
public void <init>(java.lang.Class)
{
java.lang.Class v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
specialinvoke v.<org.wildfly.common.context.ContextManager: void <init>(java.lang.Class,java.lang.String)>(v, v);
return;
}
public void <init>(java.lang.Class, java.lang.String)
{
java.lang.ThreadLocal v;
java.util.concurrent.ConcurrentHashMap v;
java.util.concurrent.atomic.AtomicReference v;
java.util.function.Supplier v;
org.wildfly.common.context.ContextPermission v;
java.lang.Class v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.wildfly.common.context.ContextManager: java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault> = v;
v = staticinvoke <org.wildfly.common.context.ContextManager$init__3232: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <java.lang.ThreadLocal: java.lang.ThreadLocal withInitial(java.util.function.Supplier)>(v);
v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef> = v;
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("type", v);
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("name", v);
staticinvoke <org.wildfly.common.Assert: java.lang.String checkNotEmptyParam(java.lang.String,java.lang.String)>("name", v);
v.<org.wildfly.common.context.ContextManager: java.lang.Class type> = v;
v.<org.wildfly.common.context.ContextManager: java.lang.String name> = v;
v = new org.wildfly.common.context.ContextPermission;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "get");
v.<org.wildfly.common.context.ContextManager: org.wildfly.common.context.ContextPermission getPermission> = v;
return;
}
public org.wildfly.common.context.Contextual getGlobalDefault()
{
org.wildfly.common.context.ContextPermission v;
java.lang.Object v, v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.SecurityManager v;
v := @this: org.wildfly.common.context.ContextManager;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "getGlobalDefault");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
label:
return v;
}
public void setGlobalDefaultSupplier(java.util.function.Supplier)
{
org.wildfly.common.context.ContextPermission v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.util.function.Supplier;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "setGlobalDefaultSupplier");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
return;
}
public boolean setGlobalDefaultSupplierIfNotSet(java.util.function.Supplier)
{
java.util.concurrent.atomic.AtomicReference v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
org.wildfly.common.context.ContextPermission v;
java.lang.Object v, v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
boolean v, v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.util.function.Supplier;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "setGlobalDefaultSupplier");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v != null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(null, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void setGlobalDefault(org.wildfly.common.context.Contextual)
{
org.wildfly.common.context.ContextPermission v;
org.wildfly.common.context.Contextual v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: org.wildfly.common.context.Contextual;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "getGlobalDefault");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef>;
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <org.wildfly.common.context.ContextManager$lambda_setGlobalDefault_0__3233: java.util.function.Supplier bootstrap$(org.wildfly.common.context.Contextual)>(v);
label:
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
return;
}
public org.wildfly.common.context.Contextual getClassLoaderDefault(java.lang.ClassLoader)
{
java.util.concurrent.ConcurrentHashMap v;
java.lang.SecurityManager v;
org.wildfly.common.context.ContextPermission v;
java.lang.Object v, v;
org.wildfly.common.context.ContextManager v;
java.lang.ClassLoader v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.lang.ClassLoader;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "getClassLoaderDefault");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
if v != null goto label;
return null;
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
label:
return v;
}
public void setClassLoaderDefaultSupplier(java.lang.ClassLoader, java.util.function.Supplier)
{
java.util.concurrent.ConcurrentHashMap v, v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
org.wildfly.common.context.ContextPermission v;
org.wildfly.common.context.ContextManager v;
java.lang.ClassLoader v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.util.function.Supplier;
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("classLoader", v);
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "setClassLoaderDefaultSupplier");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
if v != null goto label;
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault>;
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault>;
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public void setClassLoaderDefault(java.lang.ClassLoader, org.wildfly.common.context.Contextual)
{
org.wildfly.common.context.Contextual v;
java.util.concurrent.ConcurrentHashMap v, v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
org.wildfly.common.context.ContextPermission v;
org.wildfly.common.context.ContextManager v;
java.lang.ClassLoader v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.lang.ClassLoader;
v := @parameter: org.wildfly.common.context.Contextual;
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("classLoader", v);
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "setClassLoaderDefault");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
if v != null goto label;
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault>;
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault>;
v = staticinvoke <org.wildfly.common.context.ContextManager$lambda_setClassLoaderDefault_1__3234: java.util.function.Supplier bootstrap$(org.wildfly.common.context.Contextual)>(v);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public org.wildfly.common.context.Contextual getThreadDefault()
{
java.lang.ThreadLocal v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
org.wildfly.common.context.ContextPermission v;
java.lang.Object v, v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "getThreadDefault");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = v.<org.wildfly.common.context.ContextManager$State: java.util.function.Supplier defaultSupplier>;
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
label:
return v;
}
public void setThreadDefaultSupplier(java.util.function.Supplier)
{
org.wildfly.common.context.ContextPermission v;
java.lang.ThreadLocal v;
java.lang.Object v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: java.util.function.Supplier;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "setThreadDefaultSupplier");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v.<org.wildfly.common.context.ContextManager$State: java.util.function.Supplier defaultSupplier> = v;
return;
}
public void setThreadDefault(org.wildfly.common.context.Contextual)
{
java.lang.ThreadLocal v;
org.wildfly.common.context.Contextual v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
org.wildfly.common.context.ContextPermission v;
java.lang.Object v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: org.wildfly.common.context.Contextual;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "setThreadDefault");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <org.wildfly.common.context.ContextManager$lambda_setThreadDefault_2__3235: java.util.function.Supplier bootstrap$(org.wildfly.common.context.Contextual)>(v);
label:
v.<org.wildfly.common.context.ContextManager$State: java.util.function.Supplier defaultSupplier> = v;
return;
}
public org.wildfly.common.context.Contextual get()
{
org.wildfly.common.context.ContextPermission v;
org.wildfly.common.context.Contextual v;
org.wildfly.common.context.ContextManager v;
java.lang.SecurityManager v;
v := @this: org.wildfly.common.context.ContextManager;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = v.<org.wildfly.common.context.ContextManager: org.wildfly.common.context.ContextPermission getPermission>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = specialinvoke v.<org.wildfly.common.context.ContextManager: org.wildfly.common.context.Contextual getPrivileged()>();
return v;
}
public java.util.function.Supplier getPrivilegedSupplier()
{
org.wildfly.common.context.ContextPermission v;
org.wildfly.common.context.ContextManager v;
java.lang.String v;
java.util.function.Supplier v;
java.lang.SecurityManager v;
v := @this: org.wildfly.common.context.ContextManager;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = new org.wildfly.common.context.ContextPermission;
v = v.<org.wildfly.common.context.ContextManager: java.lang.String name>;
specialinvoke v.<org.wildfly.common.context.ContextPermission: void <init>(java.lang.String,java.lang.String)>(v, "getPrivilegedSupplier");
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = staticinvoke <org.wildfly.common.context.ContextManager$getPrivileged__3236: java.util.function.Supplier bootstrap$(org.wildfly.common.context.ContextManager)>(v);
return v;
}
public org.wildfly.common.context.Contextual getPrivileged()
{
java.util.concurrent.atomic.AtomicReference v;
java.util.function.Supplier v;
java.lang.Thread v;
java.lang.ThreadLocal v;
java.util.concurrent.ConcurrentHashMap v;
java.security.PrivilegedAction v;
java.lang.SecurityManager v;
java.lang.Object v, v, v, v, v, v, v, v;
org.wildfly.common.context.ContextManager v;
v := @this: org.wildfly.common.context.ContextManager;
v = v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = v.<org.wildfly.common.context.ContextManager$State: java.lang.Object current>;
if v == null goto label;
return v;
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.wildfly.common.context.ContextManager$getContextClassLoader__3237: java.security.PrivilegedAction bootstrap$(java.lang.Thread)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
label:
if v == null goto label;
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.ConcurrentHashMap perClassLoaderDefault>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
if v == null goto label;
return v;
label:
v = v.<org.wildfly.common.context.ContextManager$State: java.util.function.Supplier defaultSupplier>;
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
if v == null goto label;
return v;
label:
v = v.<org.wildfly.common.context.ContextManager: java.util.concurrent.atomic.AtomicReference globalDefaultSupplierRef>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
goto label;
label:
v = null;
label:
return v;
}
org.wildfly.common.context.Contextual getAndSetCurrent(org.wildfly.common.context.Contextual)
{
java.lang.Throwable v;
java.lang.ThreadLocal v;
org.wildfly.common.context.Contextual v;
java.lang.Class v;
java.lang.Object v, v, v;
org.wildfly.common.context.ContextManager v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: org.wildfly.common.context.Contextual;
v = v.<org.wildfly.common.context.ContextManager: java.lang.Class type>;
v = virtualinvoke v.<java.lang.Class: java.lang.Object cast(java.lang.Object)>(v);
v = v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
label:
v = v.<org.wildfly.common.context.ContextManager$State: java.lang.Object current>;
label:
v.<org.wildfly.common.context.ContextManager$State: java.lang.Object current> = v;
return v;
label:
v := @caughtexception;
v.<org.wildfly.common.context.ContextManager$State: java.lang.Object current> = v;
throw v;
catch java.lang.Throwable from label to label with label;
}
void restoreCurrent(org.wildfly.common.context.Contextual)
{
java.lang.ThreadLocal v;
org.wildfly.common.context.Contextual v;
java.lang.Object v;
org.wildfly.common.context.ContextManager v;
v := @this: org.wildfly.common.context.ContextManager;
v := @parameter: org.wildfly.common.context.Contextual;
v = v.<org.wildfly.common.context.ContextManager: java.lang.ThreadLocal stateRef>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v.<org.wildfly.common.context.ContextManager$State: java.lang.Object current> = v;
return;
}
}