Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 1&1 Internet AG, http://www.1and1.org
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2 of the License,
  * or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package net.sf.beezle.sushi.fs.zip;
public class ZipFilesystem extends Filesystem {
    private static final String ZIP_SEPARATOR = "!/";
    public ZipFilesystem(World worldString name) {
        super(worldnew Features(falsefalsefalsefalsefalsefalsefalse), name);
    }
    public ZipNode node(URI uriObject extrathrows NodeInstantiationException {
        String encodedSchemeSpecific;
        String path;
        Node jar;
        if (extra != null) {
            throw new NodeInstantiationException(uri"unexpected extra argument: " + extra);
        }
        checkOpaque(uri);
        encodedSchemeSpecific = uri.getRawSchemeSpecificPart();
        path = after(encodedSchemeSpecific);
        if (path == null) {
            throw new NodeInstantiationException(uri"missing '" +  +"'");
        }
        if (path.endsWith()) {
            throw new NodeInstantiationException(uri"invalid tailing " + );
        }
        if (path.startsWith()) {
            throw new NodeInstantiationException(uri"invalid heading " + );
        }
        try {
            jar = getWorld().node(encodedSchemeSpecific.substring(0, encodedSchemeSpecific.length() - path.length() - .length()));
        } catch (URISyntaxException e) {
            throw new NodeInstantiationException(uri"invalid jar file in jar url"e);
        }
        if (!(jar instanceof FileNode)) {
            throw new NodeInstantiationException(uri"file node expected, got: " + jar.getURI());
        }
        try {
            return root((FileNodejar).node(ZipNode.decodePath(path), null);
        } catch (IOException e) {
            throw new NodeInstantiationException(uri"world exception"e);
        }
    }
    public ZipRoot root(FileNode jarthrows IOException {
        return new ZipRoot(thisnew ZipFile(jar.getAbsolute()));
    }
    public ZipNode node(FileNode jarString paththrows IOException {
        return root(jar).node(pathnull);
    }
New to GrepCode? Check out our FAQ X