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;
 
 
 import java.util.List;
Represents an entry in a zip or jar file. Read-only
 
 public class ZipNode extends Node {
     private final ZipRoot root;
     private final String path;
 
     public ZipNode(ZipRoot rootString path) {
         super();
         this. = root;
         this. = path;
     }
 
     @Override
     public ZipRoot getRoot() {
         return ;
     }
 
     @Override
     public ZipNode getParent() {
         return (ZipNodedoGetParent();
     }
 
     @Override
     public ZipNode join(String ... paths) {
         return (ZipNodedoJoin(paths);
     }
 
     @Override
     public ZipNode join(List<Stringpaths) {
         return (ZipNodedoJoin(paths);
     }
 
     @Override
     public long length() {
         return .getZip().getEntry().getSize();
     }
 
     @Override
     public long getLastModified() {
         return .getLastModified();
     }
 
     @Override
     public void setLastModified(long millisthrows SetLastModifiedException {
         throw new SetLastModifiedException(this);
     }
 
     @Override
     public int getMode() {
         throw unsupported("getMode()");
     }
 
     @Override
     public void setMode(int mode) {
         throw unsupported("setMode()");
     }
 
     @Override
     public int getUid() {
         throw unsupported("getUid()");
     }
 
     @Override
     public void setUid(int uid) {
         throw unsupported("setUid()");
     }
 
     @Override
     public int getGid() {
         throw unsupported("getGid()");
    }
    @Override
    public void setGid(int gid) {
        throw unsupported("setGid()");
    }
    @Override
    public Node delete() throws DeleteException {
        throw new DeleteException(this);
    }
    @Override
    public Node move(Node destthrows MoveException {
    	throw new MoveException(thisdest"ZipNode cannot be moved");
    }
    @Override
    public Node mkdir() throws MkdirException {
        throw new MkdirException(this);
    }
    @Override
    public void mklink(String target) {
        throw unsupported("mklink()");
    }
    @Override
    public String readLink() {
        throw unsupported("readLink()");
    }
    @Override
    public boolean exists() {
        return .getZip().getEntry()  != null || isDirectory();
    }
    @Override
    public boolean isFile() {
        ZipEntry entry;
        InputStream in;
        entry = .getZip().getEntry();
        if (entry == null) {
            return false;
        }
        if (entry.getSize() > 0) {
            return true;
        }
        try {
            in = .getZip().getInputStream(entry);
        } catch (IOException e) {
            return true;
        }
        if (in == null) {
            return false;
        } else {
            try {
                in.close();
            } catch (IOException e) {
                // fall through
            }
            return true;
        }
    }
    @Override
    public boolean isLink() {
    	return false;
    }
    @Override
    public boolean isDirectory() {
        ZipFile zip;
        if (.isEmpty()) {
            return true;
        }
        zip = .getZip();
        if (zip.getEntry( + "/") != null) {
            return true;
        }
        // also contains implicit directories
        return .list().size() > 0;
    }
    @Override
    public InputStream createInputStream() throws IOException {
        ZipFile zip;
        ZipEntry entry;
        zip = .getZip();
        entry = zip.getEntry();
        if (entry == null) {
            throw new FileNotFoundException();
        }
        return zip.getInputStream(entry);
    }
    @Override
    public OutputStream createOutputStream(boolean append) {
        throw unsupported("createOutputStream(" + append + ")");
    }
    @Override
    public List<ZipNodelist() throws ListException {
        List<Stringpaths;
        List<ZipNoderesult;
        if (isFile()) {
            return null;
        }
        paths = .list();
        if (paths.size() == 0 && .getZip().getEntry( + "/") == null) {
            throw new ListException(thisnew FileNotFoundException());
        }
        result = new ArrayList<ZipNode>();
        for (String path : paths) {
            result.add(.node(pathnull));
        }
        return result;
    }
    @Override
    public String getPath() {
        return ;
    }
New to GrepCode? Check out our FAQ X