FileDocCategorySizeDatePackage
Handler.javaAPI DocAndroid 1.5 API3849Wed May 06 22:41:04 BST 2009org.apache.harmony.luni.internal.net.www.protocol.jar

Handler

public class Handler extends URLStreamHandler

Fields Summary
Constructors Summary
Methods Summary
protected java.net.URLConnectionopenConnection(java.net.URL u)
Returns a connection to the jar file pointed by this URL in the file system

return
java.net.URLConnection A connection to the resource pointed by this url.
param
u java.net.URL The URL to which the connection is pointing to
thows
IOException thrown if an IO error occurs when this method tries to establish connection.

        return new JarURLConnection(u);
    
protected voidparseURL(java.net.URL url, java.lang.String spec, int start, int limit)

param
url URL the context URL
param
spec java.lang.String the spec string
param
start int the location to start parsing from
param
limit int the location where parsing ends

        String file = url.getFile();
        if (file == null) {
            file = ""; //$NON-NLS-1$
        }
        if (limit > start) {
            spec = spec.substring(start, limit);
        } else {
            spec = ""; //$NON-NLS-1$
        }
        if (spec.indexOf("!/") == -1 && (file.indexOf("!/") == -1)) { //$NON-NLS-1$ //$NON-NLS-2$
            throw new NullPointerException(Msg.getString("K01b6")); //$NON-NLS-1$
        }
        if (file.equals("")) {
            file = spec;
        } else if (spec.charAt(0) == '/") {
            file = file.substring(0, file.indexOf('!") + 1) + spec;
        } else {
            int idx = file.indexOf('!");
            String tmpFile = file.substring(idx + 1, file.lastIndexOf('/") + 1) + spec;
            tmpFile = URLUtil.canonicalizePath(tmpFile);
            file = file.substring(0, idx + 1) + tmpFile;
        }
        try {
            // check that the embedded url is valid
            new URL(file);
        } catch (MalformedURLException e) {
            throw new NullPointerException(e.toString());
        }
        setURL(url, "jar", "", -1, null, null, file, null, null); //$NON-NLS-1$//$NON-NLS-2$
    
protected java.lang.StringtoExternalForm(java.net.URL url)
Build and return the externalized string representation of url.

return
String the externalized string representation of url
param
url a URL

        StringBuffer sb = new StringBuffer();
        sb.append("jar:"); //$NON-NLS-1$
        sb.append(url.getFile());
        String ref = url.getRef();
        if (ref != null) {
            sb.append(ref);
        }
        return sb.toString();