public abstract enum class org.apache.logging.log4j.core.async.ThreadNameCachingStrategy extends java.lang.Enum
{
public static final enum org.apache.logging.log4j.core.async.ThreadNameCachingStrategy CACHED;
public static final enum org.apache.logging.log4j.core.async.ThreadNameCachingStrategy UNCACHED;
private static final org.apache.logging.log4j.status.StatusLogger LOGGER;
private static final java.lang.ThreadLocal THREADLOCAL_NAME;
static final org.apache.logging.log4j.core.async.ThreadNameCachingStrategy DEFAULT_STRATEGY;
private static final org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] $VALUES;
public static org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] values()
{
java.lang.Object v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] v;
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] $VALUES>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public static org.apache.logging.log4j.core.async.ThreadNameCachingStrategy valueOf(java.lang.String)
{
java.lang.String v;
java.lang.Enum v;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.Enum: java.lang.Enum valueOf(java.lang.Class,java.lang.String)>(class "Lorg/apache/logging/log4j/core/async/ThreadNameCachingStrategy;", v);
return v;
}
private void <init>(java.lang.String, int)
{
int v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy v;
java.lang.String v;
v := @this: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<java.lang.Enum: void <init>(java.lang.String,int)>(v, v);
return;
}
abstract java.lang.String getThreadName();
public static org.apache.logging.log4j.core.async.ThreadNameCachingStrategy create()
{
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy v, v, v, v;
org.apache.logging.log4j.util.PropertiesUtil v;
java.lang.Exception v;
org.apache.logging.log4j.status.StatusLogger v, v;
java.lang.String v, v, v, v, v;
v = staticinvoke <org.apache.logging.log4j.util.PropertiesUtil: org.apache.logging.log4j.util.PropertiesUtil getProperties()>();
v = virtualinvoke v.<org.apache.logging.log4j.util.PropertiesUtil: java.lang.String getStringProperty(java.lang.String)>("AsyncLogger.ThreadNameStrategy");
label:
if v == null goto label;
v = staticinvoke <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy valueOf(java.lang.String)>(v);
goto label;
label:
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy DEFAULT_STRATEGY>;
label:
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: java.lang.String name()>();
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy DEFAULT_STRATEGY>;
v = virtualinvoke v.<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: java.lang.String name()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("AsyncLogger.ThreadNameStrategy={} (user specified {}, default is {})", v, v, v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.status.StatusLogger LOGGER>;
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy DEFAULT_STRATEGY>;
v = virtualinvoke v.<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: java.lang.String name()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Using AsyncLogger.ThreadNameStrategy.{}: \'{}\' not valid: {}", v, v, v);
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy DEFAULT_STRATEGY>;
return v;
catch java.lang.Exception from label to label with label;
}
static boolean isAllocatingThreadGetName()
{
java.lang.Exception v;
java.util.regex.Matcher v;
int v, v, v, v;
java.lang.String v, v, v;
java.util.regex.Pattern v;
boolean v, v, v;
v = <org.apache.logging.log4j.util.Constants: int JAVA_MAJOR_VERSION>;
if v != 8 goto label;
label:
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(\\d+)\\.(\\d+)\\.(\\d+)_(\\d+)");
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.version");
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(3);
v = staticinvoke <org.apache.logging.log4j.core.util.Integers: int parseInt(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(4);
v = staticinvoke <org.apache.logging.log4j.core.util.Integers: int parseInt(java.lang.String)>(v);
if v >= 102 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 1;
label:
v := @caughtexception;
return 1;
label:
v = <org.apache.logging.log4j.util.Constants: int JAVA_MAJOR_VERSION>;
if v >= 8 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
catch java.lang.Exception from label to label with label;
}
private static org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] $values()
{
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy v, v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] v;
v = newarray (org.apache.logging.log4j.core.async.ThreadNameCachingStrategy)[2];
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy CACHED>;
v[0] = v;
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy UNCACHED>;
v[1] = v;
return v;
}
static void <clinit>()
{
java.lang.ThreadLocal v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy$1 v;
org.apache.logging.log4j.status.StatusLogger v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy$2 v;
org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] v;
boolean v;
v = new org.apache.logging.log4j.core.async.ThreadNameCachingStrategy$1;
specialinvoke v.<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy$1: void <init>(java.lang.String,int)>("CACHED", 0);
<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy CACHED> = v;
v = new org.apache.logging.log4j.core.async.ThreadNameCachingStrategy$2;
specialinvoke v.<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy$2: void <init>(java.lang.String,int)>("UNCACHED", 1);
<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy UNCACHED> = v;
v = staticinvoke <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] $values()>();
<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy[] $VALUES> = v;
v = staticinvoke <org.apache.logging.log4j.status.StatusLogger: org.apache.logging.log4j.status.StatusLogger getLogger()>();
<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.status.StatusLogger LOGGER> = v;
v = new java.lang.ThreadLocal;
specialinvoke v.<java.lang.ThreadLocal: void <init>()>();
<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: java.lang.ThreadLocal THREADLOCAL_NAME> = v;
v = staticinvoke <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: boolean isAllocatingThreadGetName()>();
if v == 0 goto label;
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy CACHED>;
goto label;
label:
v = <org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy UNCACHED>;
label:
<org.apache.logging.log4j.core.async.ThreadNameCachingStrategy: org.apache.logging.log4j.core.async.ThreadNameCachingStrategy DEFAULT_STRATEGY> = v;
return;
}
}