package org.eclipse.jdt.internal.jarinjarloader;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
public class RsrcURLStreamHandler extends URLStreamHandler
{
private ClassLoader classLoader;
public RsrcURLStreamHandler(ClassLoader classLoader)
{
this.classLoader = classLoader;
}
protected URLConnection openConnection(URL u) throws IOException {
return new RsrcURLConnection(u, this.classLoader);
}
protected void parseURL(URL url, String spec, int start, int limit)
{
String file;
if (spec.startsWith("rsrc:")) {
file = spec.substring(5);
}
else
{
if (url.getFile().equals("./")) {
file = spec;
}
else
{
if (url.getFile().endsWith("/"))
file = url.getFile() + spec;
else
file = spec;
}
}
setURL(url, "rsrc", "", -1, null, null, file, null, null);
}
}