public final enum class org.apache.commons.io.FileSystem extends java.lang.Enum
{
public static final enum org.apache.commons.io.FileSystem GENERIC;
public static final enum org.apache.commons.io.FileSystem LINUX;
public static final enum org.apache.commons.io.FileSystem MAC_OSX;
public static final enum org.apache.commons.io.FileSystem WINDOWS;
private static final boolean IS_OS_LINUX;
private static final boolean IS_OS_MAC;
private static final java.lang.String OS_NAME_WINDOWS_PREFIX;
private static final boolean IS_OS_WINDOWS;
private static final org.apache.commons.io.FileSystem CURRENT;
private final int blockSize;
private final boolean casePreserving;
private final boolean caseSensitive;
private final int[] illegalFileNameChars;
private final int maxFileNameLength;
private final int maxPathLength;
private final java.lang.String[] reservedFileNames;
private final boolean reservedFileNamesExtensions;
private final boolean supportsDriveLetter;
private final char nameSeparator;
private final char nameSeparatorOther;
private static final org.apache.commons.io.FileSystem[] $VALUES;
public static org.apache.commons.io.FileSystem[] values()
{
java.lang.Object v;
org.apache.commons.io.FileSystem[] v;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem[] $VALUES>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public static org.apache.commons.io.FileSystem 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/commons/io/FileSystem;", v);
return v;
}
private static org.apache.commons.io.FileSystem current()
{
org.apache.commons.io.FileSystem v, v, v, v;
boolean v, v, v;
v = <org.apache.commons.io.FileSystem: boolean IS_OS_LINUX>;
if v == 0 goto label;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem LINUX>;
return v;
label:
v = <org.apache.commons.io.FileSystem: boolean IS_OS_MAC>;
if v == 0 goto label;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem MAC_OSX>;
return v;
label:
v = <org.apache.commons.io.FileSystem: boolean IS_OS_WINDOWS>;
if v == 0 goto label;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem WINDOWS>;
return v;
label:
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem GENERIC>;
return v;
}
public static org.apache.commons.io.FileSystem getCurrent()
{
org.apache.commons.io.FileSystem v;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem CURRENT>;
return v;
}
private static boolean getOsMatchesName(java.lang.String)
{
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.io.FileSystem: java.lang.String getSystemProperty(java.lang.String)>("os.name");
v = staticinvoke <org.apache.commons.io.FileSystem: boolean isOsNameMatch(java.lang.String,java.lang.String)>(v, v);
return v;
}
private static java.lang.String getSystemProperty(java.lang.String)
{
java.io.PrintStream v;
java.lang.SecurityException v;
java.lang.String v, v, v;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream err>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Caught a SecurityException reading the system property \'\u0001\'; the SystemUtils property value will default to null.");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return null;
catch java.lang.SecurityException from label to label with label;
}
private static int indexOf(java.lang.CharSequence, int, int)
{
int v, v, v, v, v, v, v, v, v, v;
boolean v;
java.lang.CharSequence v;
char v, v, v, v, v;
char[] v;
v := @parameter: java.lang.CharSequence;
v := @parameter: int;
v := @parameter: int;
v = v instanceof java.lang.String;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(v, v);
return v;
label:
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v >= 0 goto label;
v = 0;
label:
if v >= 65536 goto label;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != v goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
label:
if v > 1114111 goto label;
v = staticinvoke <java.lang.Character: char[] toChars(int)>(v);
v = v;
label:
v = v - 1;
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = v + 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = v[0];
if v != v goto label;
v = v[1];
if v != v goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
private static boolean isOsNameMatch(java.lang.String, java.lang.String)
{
java.util.Locale v, v;
java.lang.String v, v, v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
return 0;
label:
v = <java.util.Locale: java.util.Locale ROOT>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = <java.util.Locale: java.util.Locale ROOT>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
return v;
}
private static java.lang.String replace(java.lang.String, char, char)
{
char v, v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: char;
v := @parameter: char;
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(v, v);
label:
return v;
}
private void <init>(java.lang.String, int, int, boolean, boolean, int, int, int[], java.lang.String[], boolean, boolean, char)
{
java.lang.String[] v;
int[] v;
int v, v, v, v;
java.lang.String v;
boolean v, v, v, v;
char v, v;
java.lang.Object v, v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int[];
v := @parameter: java.lang.String[];
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: char;
specialinvoke v.<java.lang.Enum: void <init>(java.lang.String,int)>(v, v);
v.<org.apache.commons.io.FileSystem: int blockSize> = v;
v.<org.apache.commons.io.FileSystem: int maxFileNameLength> = v;
v.<org.apache.commons.io.FileSystem: int maxPathLength> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "illegalFileNameChars");
v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "reservedFileNames");
v.<org.apache.commons.io.FileSystem: java.lang.String[] reservedFileNames> = v;
v.<org.apache.commons.io.FileSystem: boolean reservedFileNamesExtensions> = v;
v.<org.apache.commons.io.FileSystem: boolean caseSensitive> = v;
v.<org.apache.commons.io.FileSystem: boolean casePreserving> = v;
v.<org.apache.commons.io.FileSystem: boolean supportsDriveLetter> = v;
v.<org.apache.commons.io.FileSystem: char nameSeparator> = v;
v = staticinvoke <org.apache.commons.io.FilenameUtils: char flipSeparator(char)>(v);
v.<org.apache.commons.io.FileSystem: char nameSeparatorOther> = v;
return;
}
public int getBlockSize()
{
int v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: int blockSize>;
return v;
}
public char[] getIllegalFileNameChars()
{
int[] v, v, v;
int v, v, v, v;
char[] v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars>;
v = lengthof v;
v = newarray (char)[v];
v = 0;
label:
v = v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars>;
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars>;
v = v[v];
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public int[] getIllegalFileNameCodePoints()
{
java.lang.Object v;
int[] v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public int getMaxFileNameLength()
{
int v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: int maxFileNameLength>;
return v;
}
public int getMaxPathLength()
{
int v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: int maxPathLength>;
return v;
}
public char getNameSeparator()
{
char v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: char nameSeparator>;
return v;
}
public java.lang.String[] getReservedFileNames()
{
java.lang.Object v;
java.lang.String[] v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: java.lang.String[] reservedFileNames>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public boolean isCasePreserving()
{
org.apache.commons.io.FileSystem v;
boolean v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: boolean casePreserving>;
return v;
}
public boolean isCaseSensitive()
{
org.apache.commons.io.FileSystem v;
boolean v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: boolean caseSensitive>;
return v;
}
public boolean isIllegalFileNameChar(int)
{
int[] v;
int v, v;
org.apache.commons.io.FileSystem v;
boolean v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: int;
v = v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars>;
v = staticinvoke <java.util.Arrays: int binarySearch(int[],int)>(v, v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isLegalFileName(java.lang.CharSequence)
{
java.util.stream.IntStream v;
java.lang.CharSequence v;
java.util.function.IntPredicate v;
int v, v, v;
org.apache.commons.io.FileSystem v;
boolean v, v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: java.lang.CharSequence;
if v == null goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = v.<org.apache.commons.io.FileSystem: int maxFileNameLength>;
if v <= v goto label;
label:
return 0;
label:
v = virtualinvoke v.<org.apache.commons.io.FileSystem: boolean isReservedFileName(java.lang.CharSequence)>(v);
if v == 0 goto label;
return 0;
label:
v = interfaceinvoke v.<java.lang.CharSequence: java.util.stream.IntStream chars()>();
v = staticinvoke <org.apache.commons.io.FileSystem$isIllegalFileNameChar__421: java.util.function.IntPredicate bootstrap$(org.apache.commons.io.FileSystem)>(v);
v = interfaceinvoke v.<java.util.stream.IntStream: boolean noneMatch(java.util.function.IntPredicate)>(v);
return v;
}
public boolean isReservedFileName(java.lang.CharSequence)
{
java.lang.CharSequence v, v;
int v;
java.lang.String[] v;
org.apache.commons.io.FileSystem v;
boolean v, v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: java.lang.CharSequence;
v = v.<org.apache.commons.io.FileSystem: boolean reservedFileNamesExtensions>;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.commons.io.FileSystem: java.lang.CharSequence trimExtension(java.lang.CharSequence)>(v);
goto label;
label:
v = v;
label:
v = v.<org.apache.commons.io.FileSystem: java.lang.String[] reservedFileNames>;
v = staticinvoke <java.util.Arrays: int binarySearch(java.lang.Object[],java.lang.Object)>(v, v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String normalizeSeparators(java.lang.String)
{
char v, v;
java.lang.String v, v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: java.lang.String;
v = v.<org.apache.commons.io.FileSystem: char nameSeparatorOther>;
v = v.<org.apache.commons.io.FileSystem: char nameSeparator>;
v = staticinvoke <org.apache.commons.io.FileSystem: java.lang.String replace(java.lang.String,char,char)>(v, v, v);
return v;
}
public boolean supportsDriveLetter()
{
org.apache.commons.io.FileSystem v;
boolean v;
v := @this: org.apache.commons.io.FileSystem;
v = v.<org.apache.commons.io.FileSystem: boolean supportsDriveLetter>;
return v;
}
public java.lang.String toLegalFileName(java.lang.String, char)
{
java.util.stream.IntStream v, v;
java.lang.Object[] v;
java.util.function.IntUnaryOperator v;
int[] v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v;
char v;
java.lang.IllegalArgumentException v;
java.io.Serializable v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: java.lang.String;
v := @parameter: char;
v = specialinvoke v.<org.apache.commons.io.FileSystem: boolean isIllegalFileNameChar(int)>(v);
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = newarray (java.lang.Object)[3];
if v != 0 goto label;
v = "\\0";
goto label;
label:
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
label:
v[0] = v;
v = virtualinvoke v.<org.apache.commons.io.FileSystem: java.lang.String name()>();
v[1] = v;
v = v.<org.apache.commons.io.FileSystem: int[] illegalFileNameChars>;
v = staticinvoke <java.util.Arrays: java.lang.String toString(int[])>(v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("The replacement character \'%s\' cannot be one of the %s illegal characters: %s", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v.<org.apache.commons.io.FileSystem: int maxFileNameLength>;
if v <= v goto label;
v = v.<org.apache.commons.io.FileSystem: int maxFileNameLength>;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
goto label;
label:
v = v;
label:
v = virtualinvoke v.<java.lang.String: java.util.stream.IntStream chars()>();
v = staticinvoke <org.apache.commons.io.FileSystem$lambda_toLegalFileName_0__422: java.util.function.IntUnaryOperator bootstrap$(org.apache.commons.io.FileSystem,char)>(v, v);
v = interfaceinvoke v.<java.util.stream.IntStream: java.util.stream.IntStream map(java.util.function.IntUnaryOperator)>(v);
v = interfaceinvoke v.<java.util.stream.IntStream: int[] toArray()>();
v = new java.lang.String;
v = lengthof v;
specialinvoke v.<java.lang.String: void <init>(int[],int,int)>(v, 0, v);
return v;
}
java.lang.CharSequence trimExtension(java.lang.CharSequence)
{
java.lang.CharSequence v, v;
int v;
org.apache.commons.io.FileSystem v;
v := @this: org.apache.commons.io.FileSystem;
v := @parameter: java.lang.CharSequence;
v = staticinvoke <org.apache.commons.io.FileSystem: int indexOf(java.lang.CharSequence,int,int)>(v, 46, 0);
if v >= 0 goto label;
v = v;
goto label;
label:
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(0, v);
label:
return v;
}
private static org.apache.commons.io.FileSystem[] $values()
{
org.apache.commons.io.FileSystem v, v, v, v;
org.apache.commons.io.FileSystem[] v;
v = newarray (org.apache.commons.io.FileSystem)[4];
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem GENERIC>;
v[0] = v;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem LINUX>;
v[1] = v;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem MAC_OSX>;
v[2] = v;
v = <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem WINDOWS>;
v[3] = v;
return v;
}
static void <clinit>()
{
java.lang.String[] v, v, v, v;
org.apache.commons.io.FileSystem[] v;
int[] v, v, v, v;
boolean v, v, v;
org.apache.commons.io.FileSystem v, v, v, v, v;
v = new org.apache.commons.io.FileSystem;
v = newarray (int)[1];
v[0] = 0;
v = newarray (java.lang.String)[0];
specialinvoke v.<org.apache.commons.io.FileSystem: void <init>(java.lang.String,int,int,boolean,boolean,int,int,int[],java.lang.String[],boolean,boolean,char)>("GENERIC", 0, 4096, 0, 0, 2147483647, 2147483647, v, v, 0, 0, 47);
<org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem GENERIC> = v;
v = new org.apache.commons.io.FileSystem;
v = newarray (int)[2];
v[0] = 0;
v[1] = 47;
v = newarray (java.lang.String)[0];
specialinvoke v.<org.apache.commons.io.FileSystem: void <init>(java.lang.String,int,int,boolean,boolean,int,int,int[],java.lang.String[],boolean,boolean,char)>("LINUX", 1, 8192, 1, 1, 255, 4096, v, v, 0, 0, 47);
<org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem LINUX> = v;
v = new org.apache.commons.io.FileSystem;
v = newarray (int)[3];
v[0] = 0;
v[1] = 47;
v[2] = 58;
v = newarray (java.lang.String)[0];
specialinvoke v.<org.apache.commons.io.FileSystem: void <init>(java.lang.String,int,int,boolean,boolean,int,int,int[],java.lang.String[],boolean,boolean,char)>("MAC_OSX", 2, 4096, 1, 1, 255, 1024, v, v, 0, 0, 47);
<org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem MAC_OSX> = v;
v = new org.apache.commons.io.FileSystem;
v = newarray (int)[41];
v[0] = 0;
v[1] = 1;
v[2] = 2;
v[3] = 3;
v[4] = 4;
v[5] = 5;
v[6] = 6;
v[7] = 7;
v[8] = 8;
v[9] = 9;
v[10] = 10;
v[11] = 11;
v[12] = 12;
v[13] = 13;
v[14] = 14;
v[15] = 15;
v[16] = 16;
v[17] = 17;
v[18] = 18;
v[19] = 19;
v[20] = 20;
v[21] = 21;
v[22] = 22;
v[23] = 23;
v[24] = 24;
v[25] = 25;
v[26] = 26;
v[27] = 27;
v[28] = 28;
v[29] = 29;
v[30] = 30;
v[31] = 31;
v[32] = 34;
v[33] = 42;
v[34] = 47;
v[35] = 58;
v[36] = 60;
v[37] = 62;
v[38] = 63;
v[39] = 92;
v[40] = 124;
v = newarray (java.lang.String)[24];
v[0] = "AUX";
v[1] = "COM1";
v[2] = "COM2";
v[3] = "COM3";
v[4] = "COM4";
v[5] = "COM5";
v[6] = "COM6";
v[7] = "COM7";
v[8] = "COM8";
v[9] = "COM9";
v[10] = "CON";
v[11] = "CONIN$";
v[12] = "CONOUT$";
v[13] = "LPT1";
v[14] = "LPT2";
v[15] = "LPT3";
v[16] = "LPT4";
v[17] = "LPT5";
v[18] = "LPT6";
v[19] = "LPT7";
v[20] = "LPT8";
v[21] = "LPT9";
v[22] = "NUL";
v[23] = "PRN";
specialinvoke v.<org.apache.commons.io.FileSystem: void <init>(java.lang.String,int,int,boolean,boolean,int,int,int[],java.lang.String[],boolean,boolean,char)>("WINDOWS", 3, 4096, 0, 1, 255, 32000, v, v, 1, 1, 92);
<org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem WINDOWS> = v;
v = staticinvoke <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem[] $values()>();
<org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem[] $VALUES> = v;
v = staticinvoke <org.apache.commons.io.FileSystem: boolean getOsMatchesName(java.lang.String)>("Linux");
<org.apache.commons.io.FileSystem: boolean IS_OS_LINUX> = v;
v = staticinvoke <org.apache.commons.io.FileSystem: boolean getOsMatchesName(java.lang.String)>("Mac");
<org.apache.commons.io.FileSystem: boolean IS_OS_MAC> = v;
v = staticinvoke <org.apache.commons.io.FileSystem: boolean getOsMatchesName(java.lang.String)>("Windows");
<org.apache.commons.io.FileSystem: boolean IS_OS_WINDOWS> = v;
v = staticinvoke <org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem current()>();
<org.apache.commons.io.FileSystem: org.apache.commons.io.FileSystem CURRENT> = v;
return;
}
}