/** * Create a new service container node. */ public JarNode(ISwingTreeNode parent, AsyncSwingTreeModel model, JTree tree, File file, IIconCache iconcache, INodeFactory factory) { super(parent, model, tree, file instanceof JarAsDirectory? file: new JarAsDirectory(file.getPath()), iconcache, factory); // System.out.println("node: "+getClass()+" "+desc.getName()); }
/** * Set the file. */ public void setFile(File file) { this.file = file instanceof JarAsDirectory? file: new JarAsDirectory(file.getPath()); }
/** * Create the files for an entry. * Recursive implementation for directory entries. */ public File[] createFiles(String key, MultiCollection entries) { Collection col = entries.getCollection(key); JarAsDirectory[] ret = new JarAsDirectory[col.size()]; Iterator it = col.iterator(); for(int i=0; it.hasNext(); i++) { ZipEntry entry = (ZipEntry)it.next(); ret[i] = new JarAsDirectory(jarpath, entry); if(ret[i].isDirectory()) { ret[i].entries = createFiles(ret[i].entry.getName(), entries); } entryfiles.put(entry.getName(), ret[i]); } // System.out.println("create files: "+key+", "+SUtil.arrayToString(ret)); return ret; }
/** * Create the files for an entry. * Recursive implementation for directory entries. */ public File[] createFiles(String key, MultiCollection<String, ZipEntry> entries) { Collection<ZipEntry> col = entries.getCollection(key); JarAsDirectory[] ret = new JarAsDirectory[col.size()]; Iterator<ZipEntry> it = col.iterator(); for(int i=0; it.hasNext(); i++) { ZipEntry entry = (ZipEntry)it.next(); ret[i] = new JarAsDirectory(jarpath, entry); if(ret[i].isDirectory()) { ret[i].entries = createFiles(ret[i].getEntryName(), entries); } entryfiles.put(entry.getName(), ret[i]); } // System.out.println("create files: "+key+", "+SUtil.arrayToString(ret)); return ret; }
try final JarAsDirectory jad = new JarAsDirectory(file.getPath()); jad.refresh();
final boolean dir = file instanceof RemoteJarFile? ((RemoteJarFile)file).isDirectory(): false; final JarAsDirectory jad = name!=null? new JarAsDirectory(file.getPath(), name, dir, true): new JarAsDirectory(file.getPath()); jad.refresh();