Hi ! > here is draft 8: Great, thanks! Some comments: * you use File*Streams instead of simply InputStream/OutputStream, any reason for this?If no, please change it accordingly. * simplify the archiver interface. e.g. I think methods like save(File) are useless and we can put it in an utility class if wanted. * Also I think we can drop things like add(File) when we can do the same with add(ArchiveEntry) ** If you would like to, we can can use something like *** ArchiveEntryFactory.create(File) - returns a FileArchiveEntry *** ArchiveEntryFactory.create(name, inputStream) - returns a StreamArchiveEntry * for VFS it would be nice to have methods like Archive.list() to get a list of all entries in the current archive * said that we should rename the method getEntryIterator to getPendingOperations (also prepare the internal list for things like delete)
* the same for the Compressor interface. I think we should drop the duplicated API - remove all the File stuff and change File*Stream to InputStream/OutputStream. This makes the stuff much simpler. In AbstractCompressor you create temp-files. When removing the File stuff we can get rid of it. If you still would like to have such methods move them to a CompressorUtils class - and consider using Piped streams, then you do not have to deal with temp files no one might ever cleanup - trust me, in VFS I have such a problem too. I hope I didnt miss anything from the previous discussions which states that you do all the things above, just give me a pointer if this is the case. Ciao, Mario --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]