commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dawid Weiss (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COMPRESS-339) deprecate get() methods on SevenZFile and add getNextEntry().getInputStream() instead
Date Tue, 23 Feb 2016 15:58:18 GMT
Dawid Weiss created COMPRESS-339:
------------------------------------

             Summary: deprecate get() methods on SevenZFile and add getNextEntry().getInputStream()
instead
                 Key: COMPRESS-339
                 URL: https://issues.apache.org/jira/browse/COMPRESS-339
             Project: Commons Compress
          Issue Type: Improvement
            Reporter: Dawid Weiss
            Priority: Minor


This is a conclusion from me looking at {{SevenZFile}} -- its API is currently very odd; shaped
much like InputStream (three flavors of get method), SevenZFile doesn't actually implement
InputStream so it needs to be wrapped in awkward custom code. This can result in very realistic
performance degradation when somebody calls get() (a single byte at a time)  repeatedly over
and over again. 

I think it would make a lot of sense to deprecate and eventually remove those methods from
SevenZFile, replacing them with a method getInputStream() on an SevenZArchiveEntry. This method
would return a low-level stream leading to the entry's decoded data (possibly buffered to
decode in sensible blocks). This would also open up the possibility of returning thread-safe
SevenZArchiveEntry instances so that multiple entries could be decompressed in parallel, for
example.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message