public class org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy extends org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy
{
private static final int MIN_WINDOW_SIZE;
private static final int DEFAULT_WINDOW_SIZE;
private final int maxIndex;
private final int minIndex;
private final boolean useMax;
private final int compressionLevel;
private final java.util.List customActions;
private final boolean stopCustomActionsOnError;
private final org.apache.logging.log4j.core.appender.rolling.PatternProcessor tempCompressedFilePattern;
public static org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder newBuilder()
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder v;
v = new org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: void <init>()>();
return v;
}
public static org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy createStrategy(java.lang.String, java.lang.String, java.lang.String, java.lang.String, org.apache.logging.log4j.core.appender.rolling.action.Action[], boolean, org.apache.logging.log4j.core.config.Configuration)
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
org.apache.logging.log4j.core.config.Configuration v;
java.lang.String v, v, v, v;
boolean v;
org.apache.logging.log4j.core.appender.rolling.action.Action[] v;
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder v, v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.action.Action[];
v := @parameter: boolean;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v = staticinvoke <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder newBuilder()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withMin(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withMax(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withFileIndex(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withCompressionLevelStr(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withCustomActions(org.apache.logging.log4j.core.appender.rolling.action.Action[])>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withStopCustomActionsOnError(boolean)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder withConfig(org.apache.logging.log4j.core.config.Configuration)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy$Builder: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy build()>();
return v;
}
protected void <init>(int, int, boolean, int, org.apache.logging.log4j.core.lookup.StrSubstitutor, org.apache.logging.log4j.core.appender.rolling.action.Action[], boolean)
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
org.apache.logging.log4j.core.appender.rolling.action.Action[] v;
int v, v, v;
boolean v, v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.core.lookup.StrSubstitutor;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.action.Action[];
v := @parameter: boolean;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: void <init>(int,int,boolean,int,org.apache.logging.log4j.core.lookup.StrSubstitutor,org.apache.logging.log4j.core.appender.rolling.action.Action[],boolean,java.lang.String)>(v, v, v, v, v, v, v, null);
return;
}
protected void <init>(int, int, boolean, int, org.apache.logging.log4j.core.lookup.StrSubstitutor, org.apache.logging.log4j.core.appender.rolling.action.Action[], boolean, java.lang.String)
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
org.apache.logging.log4j.core.appender.rolling.action.Action[] v;
java.util.List v;
org.apache.logging.log4j.core.appender.rolling.PatternProcessor v;
int v, v, v;
java.lang.String v;
boolean v, v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.core.lookup.StrSubstitutor;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.action.Action[];
v := @parameter: boolean;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy: void <init>(org.apache.logging.log4j.core.lookup.StrSubstitutor)>(v);
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int minIndex> = v;
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int maxIndex> = v;
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean useMax> = v;
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int compressionLevel> = v;
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean stopCustomActionsOnError> = v;
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
goto label;
label:
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
label:
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: java.util.List customActions> = v;
if v == null goto label;
v = new org.apache.logging.log4j.core.appender.rolling.PatternProcessor;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.PatternProcessor: void <init>(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.appender.rolling.PatternProcessor tempCompressedFilePattern> = v;
return;
}
public int getCompressionLevel()
{
int v;
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int compressionLevel>;
return v;
}
public java.util.List getCustomActions()
{
java.util.List v;
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: java.util.List customActions>;
return v;
}
public int getMaxIndex()
{
int v;
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int maxIndex>;
return v;
}
public int getMinIndex()
{
int v;
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int minIndex>;
return v;
}
public boolean isStopCustomActionsOnError()
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean stopCustomActionsOnError>;
return v;
}
public boolean isUseMax()
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean useMax>;
return v;
}
public org.apache.logging.log4j.core.appender.rolling.PatternProcessor getTempCompressedFilePattern()
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
org.apache.logging.log4j.core.appender.rolling.PatternProcessor v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.appender.rolling.PatternProcessor tempCompressedFilePattern>;
return v;
}
private int purge(int, int, org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
org.apache.logging.log4j.core.appender.rolling.RollingFileManager v;
int v, v, v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean useMax>;
if v == 0 goto label;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int purgeAscending(int,int,org.apache.logging.log4j.core.appender.rolling.RollingFileManager)>(v, v, v);
goto label;
label:
v = specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int purgeDescending(int,int,org.apache.logging.log4j.core.appender.rolling.RollingFileManager)>(v, v, v);
label:
return v;
}
private int purgeAscending(int, int, org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
java.lang.Integer v;
boolean v, v, v, v, v;
java.util.Set v;
java.lang.Exception v;
org.apache.logging.log4j.Logger v, v, v, v, v, v;
org.apache.logging.log4j.core.appender.rolling.PatternProcessor v;
java.lang.StringBuilder v;
java.util.SortedMap v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
org.apache.logging.log4j.core.appender.rolling.RollingFileManager v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
java.util.Iterator v;
java.io.IOException v;
org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction v;
java.io.File v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: java.util.SortedMap getEligibleFiles(org.apache.logging.log4j.core.appender.rolling.RollingFileManager)>(v);
v = v - v;
v = v + 1;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Eligible files: {}", v);
v = interfaceinvoke v.<java.util.SortedMap: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object lastKey()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int maxIndex>;
if v < v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = interfaceinvoke v.<java.util.SortedMap: int size()>();
if v < v goto label;
label:
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Eligible files: {}", v);
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object firstKey()>();
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Deleting {}", v);
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <java.nio.file.Files: void delete(java.nio.file.Path)>(v);
interfaceinvoke v.<java.util.SortedMap: java.lang.Object remove(java.lang.Object)>(v);
v = 1;
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object firstKey()>();
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Unable to delete {}, {}", v, v, v);
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.SortedMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: org.apache.logging.log4j.core.appender.rolling.PatternProcessor getPatternProcessor()>();
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.lookup.StrSubstitutor strSubstitutor>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v - 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.PatternProcessor: void formatFileName(org.apache.logging.log4j.core.lookup.StrSubstitutor,java.lang.StringBuilder,java.lang.Object)>(v, v, v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int suffixLength(java.lang.String)>(v);
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int suffixLength(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = new org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction: void <init>(java.io.File,java.io.File,boolean)>(v, v, 1);
label:
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("DefaultRolloverStrategy.purgeAscending executing {}", v);
v = interfaceinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.Action: boolean execute()>();
if v != 0 goto label;
label:
v = (int) -1;
return v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Exception during purge in RollingFileAppender", v);
v = (int) -1;
return v;
label:
v = interfaceinvoke v.<java.util.SortedMap: int size()>();
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object lastKey()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object lastKey()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + 1;
goto label;
label:
v = v;
goto label;
label:
v = v;
label:
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private int purgeDescending(int, int, org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
java.lang.Integer v;
boolean v, v;
java.util.Set v;
java.lang.Exception v;
org.apache.logging.log4j.Logger v, v, v, v, v;
org.apache.logging.log4j.core.appender.rolling.PatternProcessor v;
java.lang.StringBuilder v;
java.util.SortedMap v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
org.apache.logging.log4j.core.appender.rolling.RollingFileManager v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
java.util.Iterator v;
java.io.IOException v;
org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction v;
java.io.File v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: java.util.SortedMap getEligibleFiles(org.apache.logging.log4j.core.appender.rolling.RollingFileManager,boolean)>(v, 0);
v = v - v;
v = v + 1;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Eligible files: {}", v);
label:
v = interfaceinvoke v.<java.util.SortedMap: int size()>();
if v < v goto label;
label:
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object firstKey()>();
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("Deleting {}", v);
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <java.nio.file.Files: void delete(java.nio.file.Path)>(v);
interfaceinvoke v.<java.util.SortedMap: java.lang.Object remove(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object firstKey()>();
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Unable to delete {}, {}", v, v, v);
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = interfaceinvoke v.<java.util.SortedMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: org.apache.logging.log4j.core.appender.rolling.PatternProcessor getPatternProcessor()>();
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.lookup.StrSubstitutor strSubstitutor>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.PatternProcessor: void formatFileName(org.apache.logging.log4j.core.lookup.StrSubstitutor,java.lang.StringBuilder,java.lang.Object)>(v, v, v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int suffixLength(java.lang.String)>(v);
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int suffixLength(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = new org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction: void <init>(java.io.File,java.io.File,boolean)>(v, v, 1);
label:
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object)>("DefaultRolloverStrategy.purgeDescending executing {}", v);
v = interfaceinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.Action: boolean execute()>();
if v != 0 goto label;
label:
v = (int) -1;
return v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Exception during purge in RollingFileAppender", v);
v = (int) -1;
return v;
label:
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public org.apache.logging.log4j.core.appender.rolling.RolloverDescription rollover(org.apache.logging.log4j.core.appender.rolling.RollingFileManager) throws java.lang.SecurityException
{
java.lang.Integer v, v, v;
org.apache.logging.log4j.core.appender.rolling.action.Action v, v, v;
org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder v, v, v, v, v, v, v, v, v;
java.util.Set v;
org.apache.logging.log4j.Logger v, v, v;
org.apache.logging.log4j.core.appender.rolling.PatternProcessor v, v, v, v;
java.lang.StringBuilder v;
java.lang.Double v;
long v, v, v, v;
org.apache.logging.log4j.core.appender.rolling.RollingFileManager v;
java.lang.String v, v, v, v, v, v;
java.io.File v, v, v, v, v;
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
org.apache.logging.log4j.core.appender.rolling.action.CompositeAction v, v;
boolean v, v, v, v, v;
org.apache.logging.log4j.core.appender.rolling.FileExtension v;
java.util.List v, v, v;
org.apache.logging.log4j.core.appender.rolling.RolloverDescriptionImpl v, v;
org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction v;
java.util.SortedMap v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction v, v;
org.apache.logging.log4j.core.appender.rolling.action.Action[] v, v;
java.util.concurrent.TimeUnit v;
org.apache.logging.log4j.core.appender.rolling.action.PathCondition[] v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v := @parameter: org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(255);
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int minIndex>;
if v != -2147483648 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: java.util.SortedMap getEligibleFiles(org.apache.logging.log4j.core.appender.rolling.RollingFileManager)>(v);
v = interfaceinvoke v.<java.util.SortedMap: int size()>();
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.SortedMap: java.lang.Object lastKey()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + 1;
goto label;
label:
v = 1;
label:
v = v;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: org.apache.logging.log4j.core.appender.rolling.PatternProcessor getPatternProcessor()>();
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.lookup.StrSubstitutor strSubstitutor>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.PatternProcessor: void formatFileName(org.apache.logging.log4j.core.lookup.StrSubstitutor,java.lang.StringBuilder,java.lang.Object)>(v, v, v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int maxIndex>;
if v >= 0 goto label;
return null;
label:
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int minIndex>;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int maxIndex>;
v = specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int purge(int,int,org.apache.logging.log4j.core.appender.rolling.RollingFileManager)>(v, v, v);
if v >= 0 goto label;
return null;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: org.apache.logging.log4j.core.appender.rolling.PatternProcessor getPatternProcessor()>();
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.lookup.StrSubstitutor strSubstitutor>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.PatternProcessor: void formatFileName(org.apache.logging.log4j.core.lookup.StrSubstitutor,java.lang.StringBuilder,java.lang.Object)>(v, v, v);
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
v = interfaceinvoke v.<org.apache.logging.log4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v - v;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void trace(java.lang.String,java.lang.Object)>("DefaultRolloverStrategy.purge() took {} milliseconds", v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: java.lang.String getFileName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = v;
v = null;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: org.apache.logging.log4j.core.appender.rolling.FileExtension getFileExtension()>();
if v == null goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.FileExtension: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.appender.rolling.PatternProcessor tempCompressedFilePattern>;
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder delete(int,int)>(0, v);
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.appender.rolling.PatternProcessor tempCompressedFilePattern>;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.lookup.StrSubstitutor strSubstitutor>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.PatternProcessor: void formatFileName(org.apache.logging.log4j.core.lookup.StrSubstitutor,java.lang.StringBuilder,java.lang.Object)>(v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
if v == null goto label;
virtualinvoke v.<java.io.File: boolean mkdirs()>();
label:
v = new org.apache.logging.log4j.core.appender.rolling.action.CompositeAction;
v = newarray (org.apache.logging.log4j.core.appender.rolling.action.Action)[2];
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int compressionLevel>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.FileExtension: org.apache.logging.log4j.core.appender.rolling.action.Action createCompressAction(java.lang.String,java.lang.String,boolean,int)>(v, v, 1, v);
v[0] = v;
v = new org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction: void <init>(java.io.File,java.io.File,boolean)>(v, v, 1);
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.CompositeAction: void <init>(java.util.List,boolean)>(v, 1);
v = v;
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int compressionLevel>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.FileExtension: org.apache.logging.log4j.core.appender.rolling.action.Action createCompressAction(java.lang.String,java.lang.String,boolean,int)>(v, v, 1, v);
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object)>("Attempt to rename file {} to itself will be ignored", v);
v = new org.apache.logging.log4j.core.appender.rolling.RolloverDescriptionImpl;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.RolloverDescriptionImpl: void <init>(java.lang.String,boolean,org.apache.logging.log4j.core.appender.rolling.action.Action,org.apache.logging.log4j.core.appender.rolling.action.Action)>(v, 0, null, null);
return v;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: boolean isAttributeViewEnabled()>();
if v == 0 goto label;
v = staticinvoke <org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder newBuilder()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withBasePath(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withFollowLinks(boolean)>(0);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withMaxDepth(int)>(1);
v = <org.apache.logging.log4j.core.appender.rolling.action.PathCondition: org.apache.logging.log4j.core.appender.rolling.action.PathCondition[] EMPTY_ARRAY>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withPathConditions(org.apache.logging.log4j.core.appender.rolling.action.PathCondition[])>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.lookup.StrSubstitutor getStrSubstitutor()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withSubst(org.apache.logging.log4j.core.lookup.StrSubstitutor)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: java.util.Set getFilePermissions()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withFilePermissions(java.util.Set)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: java.lang.String getFileOwner()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withFileOwner(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: java.lang.String getFileGroup()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder withFileGroup(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction$Builder: org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction build()>();
v = new org.apache.logging.log4j.core.appender.rolling.action.CompositeAction;
v = newarray (org.apache.logging.log4j.core.appender.rolling.action.Action)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.CompositeAction: void <init>(java.util.List,boolean)>(v, 0);
v = v;
label:
v = new org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.RollingFileManager: boolean isRenameEmptyFiles()>();
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.action.FileRenameAction: void <init>(java.io.File,java.io.File,boolean)>(v, v, v);
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: java.util.List customActions>;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean stopCustomActionsOnError>;
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: org.apache.logging.log4j.core.appender.rolling.action.Action merge(org.apache.logging.log4j.core.appender.rolling.action.Action,java.util.List,boolean)>(v, v, v);
v = new org.apache.logging.log4j.core.appender.rolling.RolloverDescriptionImpl;
specialinvoke v.<org.apache.logging.log4j.core.appender.rolling.RolloverDescriptionImpl: void <init>(java.lang.String,boolean,org.apache.logging.log4j.core.appender.rolling.action.Action,org.apache.logging.log4j.core.appender.rolling.action.Action)>(v, 0, v, v);
return v;
}
public java.lang.String toString()
{
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy v;
int v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int minIndex>;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: int maxIndex>;
v = v.<org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy: boolean useMax>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,boolean)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("DefaultRolloverStrategy(min=\u, max=\u, useMax=\u)");
return v;
}
}