public class nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource extends nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource
{
private final java.net.URI uri;
private final java.net.URL url;
private volatile java.net.URL cleanedUrl;
public void <init>(java.net.URL)
{
java.net.URL v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v := @parameter: java.net.URL;
specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: void <init>()>();
staticinvoke <nl.basjes.parse.useragent.utils.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "URL must not be null");
v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri> = null;
v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url> = v;
return;
}
public void <init>(java.lang.String) throws java.net.MalformedURLException
{
java.net.URL v, v, v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v := @parameter: java.lang.String;
specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: void <init>()>();
staticinvoke <nl.basjes.parse.useragent.utils.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "Path must not be null");
v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri> = null;
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url> = v;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
v = staticinvoke <nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL getCleanedUrl(java.net.URL,java.lang.String)>(v, v);
v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL cleanedUrl> = v;
return;
}
private static java.net.URL getCleanedUrl(java.net.URL, java.lang.String)
{
java.net.MalformedURLException v;
java.net.URL v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.net.URL;
v := @parameter: java.lang.String;
v = staticinvoke <nl.basjes.parse.useragent.utils.springframework.util.StringUtils: java.lang.String cleanPath(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
label:
return v;
catch java.net.MalformedURLException from label to label with label;
}
private java.net.URL getCleanedUrl()
{
java.net.URL v, v, v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.lang.String v;
java.net.URI v;
java.io.Serializable v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL cleanedUrl>;
if v == null goto label;
return v;
label:
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
goto label;
label:
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
label:
v = interfaceinvoke v.<java.io.Serializable: java.lang.String toString()>();
v = staticinvoke <nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL getCleanedUrl(java.net.URL,java.lang.String)>(v, v);
v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL cleanedUrl> = v;
return v;
}
public java.io.InputStream getInputStream() throws java.io.IOException
{
java.net.URL v;
java.net.URLConnection v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.io.IOException v;
boolean v;
java.io.InputStream v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
v = virtualinvoke v.<java.net.URL: java.net.URLConnection openConnection()>();
virtualinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: void customizeConnection(java.net.URLConnection)>(v);
label:
v = virtualinvoke v.<java.net.URLConnection: java.io.InputStream getInputStream()>();
label:
return v;
label:
v := @caughtexception;
v = v instanceof java.net.HttpURLConnection;
if v == 0 goto label;
virtualinvoke v.<java.net.HttpURLConnection: void disconnect()>();
label:
throw v;
catch java.io.IOException from label to label with label;
}
public java.net.URL getURL()
{
java.net.URL v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
return v;
}
public java.net.URI getURI() throws java.io.IOException
{
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.net.URI v, v, v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
return v;
label:
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: java.net.URI getURI()>();
return v;
}
public boolean isFile()
{
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.net.URI v, v;
boolean v, v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: boolean isFile(java.net.URI)>(v);
return v;
label:
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: boolean isFile()>();
return v;
}
public java.io.File getFile() throws java.io.IOException
{
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.net.URI v, v;
java.io.File v, v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
if v == null goto label;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URI uri>;
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: java.io.File getFile(java.net.URI)>(v);
return v;
label:
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.AbstractFileResolvingResource: java.io.File getFile()>();
return v;
}
public nl.basjes.parse.useragent.utils.springframework.core.io.Resource createRelative(java.lang.String) throws java.net.MalformedURLException
{
java.net.URL v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v, v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v := @parameter: java.lang.String;
v = new nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = virtualinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL createRelativeURL(java.lang.String)>(v);
specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: void <init>(java.net.URL)>(v);
return v;
}
protected java.net.URL createRelativeURL(java.lang.String) throws java.net.MalformedURLException
{
java.net.URL v, v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.lang.String v, v;
boolean v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
label:
v = staticinvoke <nl.basjes.parse.useragent.utils.springframework.util.StringUtils: java.lang.String replace(java.lang.String,java.lang.String,java.lang.String)>(v, "#", "%23");
v = new java.net.URL;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
specialinvoke v.<java.net.URL: void <init>(java.net.URL,java.lang.String)>(v, v);
return v;
}
public java.lang.String getFilename()
{
java.net.URL v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.lang.String v, v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL getCleanedUrl()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getPath()>();
v = staticinvoke <nl.basjes.parse.useragent.utils.springframework.util.StringUtils: java.lang.String getFilename(java.lang.String)>(v);
return v;
}
public java.lang.String getDescription()
{
java.lang.String v;
java.net.URL v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL url>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URL)>(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[])>("URL [\u]");
return v;
}
public boolean equals(java.lang.Object)
{
java.net.URL v, v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
java.lang.Object v;
boolean v, v, v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v := @parameter: java.lang.Object;
if v == v goto label;
v = v instanceof nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
if v == 0 goto label;
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL getCleanedUrl()>();
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL getCleanedUrl()>();
v = virtualinvoke v.<java.net.URL: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
int v;
java.net.URL v;
nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource v;
v := @this: nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource;
v = specialinvoke v.<nl.basjes.parse.useragent.utils.springframework.core.io.UrlResource: java.net.URL getCleanedUrl()>();
v = virtualinvoke v.<java.net.URL: int hashCode()>();
return v;
}
}