public class org.codehaus.plexus.util.NioFiles extends java.lang.Object
{
public void <init>()
{
org.codehaus.plexus.util.NioFiles v;
v := @this: org.codehaus.plexus.util.NioFiles;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isSymbolicLink(java.io.File)
{
java.nio.file.Path v;
java.io.File v;
boolean v;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = staticinvoke <java.nio.file.Files: boolean isSymbolicLink(java.nio.file.Path)>(v);
return v;
}
public static void chmod(java.io.File, int) throws java.io.IOException
{
int v;
java.util.Set v;
java.nio.file.Path v;
java.io.File v;
boolean v;
v := @parameter: java.io.File;
v := @parameter: int;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = staticinvoke <java.nio.file.Files: boolean isSymbolicLink(java.nio.file.Path)>(v);
if v != 0 goto label;
v = staticinvoke <org.codehaus.plexus.util.NioFiles: java.util.Set getPermissions(int)>(v);
staticinvoke <java.nio.file.Files: java.nio.file.Path setPosixFilePermissions(java.nio.file.Path,java.util.Set)>(v, v);
label:
return;
}
private static java.util.Set getPermissions(int)
{
java.util.HashSet v;
int v, v, v, v, v, v, v, v, v, v;
java.nio.file.attribute.PosixFilePermission v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v & 256;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission OWNER_READ>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 128;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission OWNER_WRITE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 64;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission OWNER_EXECUTE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 32;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission GROUP_READ>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 16;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission GROUP_WRITE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 8;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission GROUP_EXECUTE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 4;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission OTHERS_READ>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 2;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission OTHERS_WRITE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v & 1;
if v <= 0 goto label;
v = <java.nio.file.attribute.PosixFilePermission: java.nio.file.attribute.PosixFilePermission OTHERS_EXECUTE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
return v;
}
public static long getLastModified(java.io.File) throws java.io.IOException
{
java.nio.file.LinkOption[] v;
java.nio.file.attribute.FileTime v;
long v;
java.nio.file.attribute.BasicFileAttributes v;
java.nio.file.Path v;
java.io.File v;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: java.nio.file.attribute.BasicFileAttributes readAttributes(java.nio.file.Path,java.lang.Class,java.nio.file.LinkOption[])>(v, class "Ljava/nio/file/attribute/BasicFileAttributes;", v);
v = interfaceinvoke v.<java.nio.file.attribute.BasicFileAttributes: java.nio.file.attribute.FileTime lastModifiedTime()>();
v = virtualinvoke v.<java.nio.file.attribute.FileTime: long toMillis()>();
return v;
}
public static java.io.File readSymbolicLink(java.io.File) throws java.io.IOException
{
java.nio.file.Path v, v;
java.io.File v, v;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = staticinvoke <java.nio.file.Files: java.nio.file.Path readSymbolicLink(java.nio.file.Path)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
return v;
}
public static java.io.File createSymbolicLink(java.io.File, java.io.File) throws java.io.IOException
{
java.nio.file.LinkOption[] v;
java.io.File v, v, v;
java.nio.file.LinkOption v;
java.nio.file.attribute.FileAttribute[] v;
java.nio.file.Path v, v, v;
boolean v;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.LinkOption)[1];
v = <java.nio.file.LinkOption: java.nio.file.LinkOption NOFOLLOW_LINKS>;
v[0] = v;
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
if v == 0 goto label;
staticinvoke <java.nio.file.Files: void delete(java.nio.file.Path)>(v);
label:
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.attribute.FileAttribute)[0];
v = staticinvoke <java.nio.file.Files: java.nio.file.Path createSymbolicLink(java.nio.file.Path,java.nio.file.Path,java.nio.file.attribute.FileAttribute[])>(v, v, v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
return v;
}
public static boolean deleteIfExists(java.io.File) throws java.io.IOException
{
java.nio.file.Path v;
java.io.File v;
boolean v;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = staticinvoke <java.nio.file.Files: boolean deleteIfExists(java.nio.file.Path)>(v);
return v;
}
public static java.io.File copy(java.io.File, java.io.File) throws java.io.IOException
{
java.nio.file.CopyOption[] v;
java.io.File v, v, v;
java.nio.file.StandardCopyOption v, v;
java.nio.file.Path v, v, v;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.CopyOption)[2];
v = <java.nio.file.StandardCopyOption: java.nio.file.StandardCopyOption REPLACE_EXISTING>;
v[0] = v;
v = <java.nio.file.StandardCopyOption: java.nio.file.StandardCopyOption COPY_ATTRIBUTES>;
v[1] = v;
v = staticinvoke <java.nio.file.Files: java.nio.file.Path copy(java.nio.file.Path,java.nio.file.Path,java.nio.file.CopyOption[])>(v, v, v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
return v;
}
}