public class org.linkedin.util.io.resource.FileResource extends org.linkedin.util.io.resource.internal.AbstractResource
{
private final java.io.File _file;
public void <init>(org.linkedin.util.io.resource.internal.InternalResourceProvider, java.lang.String, java.io.File)
{
org.linkedin.util.io.resource.FileResource v;
java.lang.String v;
org.linkedin.util.io.resource.internal.InternalResourceProvider v;
java.io.File v;
v := @this: org.linkedin.util.io.resource.FileResource;
v := @parameter: org.linkedin.util.io.resource.internal.InternalResourceProvider;
v := @parameter: java.lang.String;
v := @parameter: java.io.File;
specialinvoke v.<org.linkedin.util.io.resource.internal.AbstractResource: void <init>(org.linkedin.util.io.resource.internal.InternalResourceProvider,java.lang.String)>(v, v);
v.<org.linkedin.util.io.resource.FileResource: java.io.File _file> = v;
return;
}
public boolean exists()
{
org.linkedin.util.io.resource.FileResource v;
java.io.File v;
boolean v;
v := @this: org.linkedin.util.io.resource.FileResource;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
return v;
}
public java.io.File getFile() throws java.io.IOException
{
org.linkedin.util.io.resource.FileResource v;
java.io.File v;
v := @this: org.linkedin.util.io.resource.FileResource;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
return v;
}
public java.io.InputStream getInputStream() throws java.io.IOException
{
org.linkedin.util.io.resource.FileResource v;
java.io.FileInputStream v;
java.io.File v;
v := @this: org.linkedin.util.io.resource.FileResource;
v = new java.io.FileInputStream;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
return v;
}
public org.linkedin.util.io.resource.ResourceInfo getInfo() throws java.io.IOException
{
org.linkedin.util.io.resource.FileResource v;
org.linkedin.util.io.resource.FileResource$FileInfo v;
java.lang.String v;
java.io.File v, v;
java.io.FileNotFoundException v;
boolean v;
v := @this: org.linkedin.util.io.resource.FileResource;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = new org.linkedin.util.io.resource.FileResource$FileInfo;
specialinvoke v.<org.linkedin.util.io.resource.FileResource$FileInfo: void <init>(org.linkedin.util.io.resource.FileResource)>(v);
return v;
label:
v = new java.io.FileNotFoundException;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
v = virtualinvoke v.<java.io.File: java.lang.String getPath()>();
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
}
public boolean isDirectory()
{
org.linkedin.util.io.resource.FileResource v;
java.io.File v;
boolean v;
v := @this: org.linkedin.util.io.resource.FileResource;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
return v;
}
public java.net.URI toURI()
{
org.linkedin.util.io.resource.FileResource v;
java.net.URI v;
java.io.File v;
v := @this: org.linkedin.util.io.resource.FileResource;
v = v.<org.linkedin.util.io.resource.FileResource: java.io.File _file>;
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
return v;
}
public static org.linkedin.util.io.resource.Resource create(java.lang.String)
{
java.lang.String v;
java.io.File v;
org.linkedin.util.io.resource.Resource v;
v := @parameter: java.lang.String;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <org.linkedin.util.io.resource.FileResource: org.linkedin.util.io.resource.Resource create(java.io.File)>(v);
return v;
}
public static org.linkedin.util.io.resource.Resource create(java.io.File)
{
java.io.IOException v;
java.lang.IllegalArgumentException v;
java.io.File v, v;
java.lang.String v, v;
org.linkedin.util.io.resource.Resource v;
boolean v;
v := @parameter: java.io.File;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v == 0 goto label;
v = staticinvoke <org.linkedin.util.io.PathUtils: java.lang.String addTrailingSlash(java.lang.String)>(v);
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>("/");
v = staticinvoke <org.linkedin.util.io.resource.FileResource: org.linkedin.util.io.resource.Resource create(java.io.File,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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[])>("invalid file \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.io.IOException from label to label with label;
}
public static org.linkedin.util.io.resource.Resource createFromRoot(java.io.File)
{
java.lang.String v;
java.io.File v, v;
org.linkedin.util.io.resource.Resource v;
boolean v;
v := @parameter: java.io.File;
v = v;
v = "/";
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
label:
v = staticinvoke <org.linkedin.util.io.resource.FileResource: org.linkedin.util.io.resource.Resource create(java.io.File,java.lang.String)>(v, v);
return v;
}
public static org.linkedin.util.io.resource.Resource create(java.io.File, java.lang.String)
{
java.io.IOException v;
java.lang.RuntimeException v;
java.lang.String v;
java.io.File v;
org.linkedin.util.io.resource.Resource v;
org.linkedin.util.io.resource.internal.FileResourceProvider v;
v := @parameter: java.io.File;
v := @parameter: java.lang.String;
label:
v = new org.linkedin.util.io.resource.internal.FileResourceProvider;
specialinvoke v.<org.linkedin.util.io.resource.internal.FileResourceProvider: void <init>(java.io.File)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = virtualinvoke v.<org.linkedin.util.io.resource.internal.FileResourceProvider: org.linkedin.util.io.resource.Resource createResource(java.lang.String)>(v);
return v;
catch java.io.IOException from label to label with label;
}
}