You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Stefan Bodewig (JIRA)" <ji...@apache.org> on 2014/11/18 16:34:34 UTC

[jira] [Commented] (COMPRESS-292) Add support for virtual formats

    [ https://issues.apache.org/jira/browse/COMPRESS-292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14216309#comment-14216309 ] 

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.

[1] http://svn.apache.org/viewvc/commons/proper/compress/branches/compress-2.0/

> Add support for virtual formats
> -------------------------------
>
>                 Key: COMPRESS-292
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-292
>             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|https://svn.code.sf.net/p/loggifier/code/trunk/de.unkrig.commons.file/src/de/unkrig/commons/file/org/apache/commons/compress/]. 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
(v6.3.4#6332)