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

Arno Unkrig commented on COMPRESS-292:
--------------------------------------

This looks really good! As far as I can see, everything I need is there:

* "All" archive formats
* Get archive format by name


> 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)

Reply via email to