commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Bodewig (JIRA)" <>
Subject [jira] [Commented] (COMPRESS-292) Add support for virtual formats
Date Tue, 18 Nov 2014 15:34:34 GMT


Stefan Bodewig commented on COMPRESS-292:

Hi Arno

I started some experiments about (what?) a year ago in the compress-2.0 branch[1].  It has
stalled because me head was in different places most of the year, but maybe it is time to
revisit it.  Here archive formats are able to describe themselves and we also have factories
for entries which should allow a lot more things at runtime.  I'd love to merge your ideas
with what we have already come up with and let that shape compress 2.0 - without being bound
by backwards compatibility constraints.


> Add support for virtual formats
> -------------------------------
>                 Key: COMPRESS-292
>                 URL:
>             Project: Commons Compress
>          Issue Type: New Feature
>          Components: Archivers, Compressors
>    Affects Versions: 1.9
>            Reporter: Arno Unkrig
> Hello COMPRESS team!
> Most applications know at compile-time which archive/compression format they want to
use, but some don't. {{ArchiveStreamFactory}} and {{CompressorStreamFactory}} provide minimal
support for runtime format processing, but more comprehensive handling would be greatly appreciated.
> I propose the addition of the {{ArchiveFormat}} and {{CompressionFormat}} interfaces,
together with their factories, to implement the following:
> * Detection of archive/compression formats from contents, file name or format name
> * Conversion of archive/compressed file names, e.g. "mydir" => "mydir.tar" => "mydir.tar.gz"
> * Runtime extensibility through format auto-registration; factory method {{allFormats()}}
informs which formats are available
> * Writing archive entries without knowing the archive type at compile-time
> * Automated conversion of archive entries when copying from one format to another
> A sample design is available [here|].
If you like it, I would gladly donate it to the the project. The current license is "New BSD",
which is (hopefully) compatible with yours.
> Regards,
> Arno Unkrig

This message was sent by Atlassian JIRA

View raw message