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]

Reply via email to