Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Commons Wiki" for 
change notification.

The "CompressRoadmap" page has been changed by StefanBodewig:
https://wiki.apache.org/commons/CompressRoadmap?action=diff&rev1=15&rev2=16

  
  == About this page ==
  
- Compress has seen several releases of the 1.x series.  While the factory and 
stream APIs have proven to be useful there pieces that "don't feel right" and 
cannot be changed without breaking backwards compatibility.  Also Compress API 
has been designed for Java 1.4 and could benefit from generics and enums.
+ Compress has seen several releases of the 1.x series.  While the factory and 
stream APIs have proven to be useful there are pieces that "don't feel right" 
and cannot be changed without breaking backwards compatibility.  Also Compress' 
API has been designed for Java 1.4 and could benefit from generics and enums.
  
  The idea of a 2.0 release that is allowed to break backwards compatibility 
has come up more than once over a span of three years or even longer.  This 
page will gather requirements and design ideas in the hope that a real 
implementation will be created based on the existing code.
  
@@ -16, +16 @@

    
    Stefan sees a chance NIO2 will help and is totally sure the "new 
java.util.zip" of Java7 is even worse than the old code :-)
  
+ * external dependencies?
+ 
+   we have copied or reinvented some code from IO - do we want to keep our 
copy or use a dependency?
+ 
+ * some general cleanup
+ 
+   we have encoding code in the zip packages that gets used in tar and other 
archived classes.  We should make a run for extracting common code into 
utilities.
+ 
+ * make the factories configurable - i.e. allow third parties to register new 
formats without changing Compress
+ 
+   ServiceProvider?
+ 
+ * common solutions for streaming 
+ 
+   pack200 has to use a temporary files or hold the result in memory as it 
uses an API that converts a stream with a single call.  The archive classes 
that need random access can currently only work on files.  Some options have 
been discussed on the mailing list in this thread: 
http://markmail.org/thread/2jr5qapuynnxnfx6
+ 
+ * read-only support
+ 
+   The list of formats we ca read but not write seems to be growing.  Do we 
want to add some sort of meta-data for a format we can query to know whether it 
supports writing?  Might be part of the "make factories  configurable" solution.
+ 
+ * events for certain stages of (un)archiving/(un)compressing?
+ 
+   This might be used for progress bars or similar stuff at a higher level.  
COMPRESS-207
+ 
+ == Archivers ==
+ 
+ * unify common stuff in ArchiveEntry
+ 
+   this includes extracting a common representation for modes/persmission 
(COMPRESS-136) but doesn't need to stop there.  There is a discussion thread 
that is more than three years old with ideas about this: 
http://markmail.org/thread/fsxtzs3vsepycu25
+ 
+ * embrace generics at least for the {{{getNextEntry}}}/{{{putArchiveEntry}}} 
methods
+ 
+ * streaming vs random-access
+ 
+   For some archivers we don't have streams as their formats really require 
random access to work properly (7z) for others there is a stream and a diferent 
class for random access (zip) which is superior.  Should we generalize this in 
some way like having a factory and a common API for the random access based 
classes?  See also the "general" bullet point on this.
+ 
+ === JAR ===
+ 
+ * stop extending the zip stuff but do something useful for JAR archives like 
providing access to the manifest.  COMPRESS-18
+ 
+ === ZIP ===
+ 
+ * try to share more code between ZipFile and InputStream
+ 
+ * provide an API that allows third parties to implement und use 
compression/encryption methods without modifying Compress' codebase.
+ 
+   COMPRESS-143
+ 
+ == Compressors ==
+ 
+ * provide byte[] based Compressors/Decompressors as an alternative to streams
+ 
+   COMPRESS-134
+ 
  ...
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to