commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject [compress] Marking a public Class non-Public
Date Fri, 20 Dec 2013 16:53:31 GMT
Hi

in compress' trunk we now have to different stream classes that use
variants of LZW - the UNSHRINKING support in the zip package and the
ZCompresorInputStream.

They looked so similar (and CPD was rightfully moaning about code
duplication) that I decided to extract the common code into
<http://svn.apache.org/repos/asf/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/z/AbstractLZWInputStream.java>

As the two streams live in different packages I was forced to make the
base class public.  It also introduces protected methods to
ZCompressorInputStream that give away more about the implementation than
I feel comfortable with - at least if we are forced to keep it stable.

I'm looking for a way to properly state "this class is public for
technical reasons but it is not part of the public API of Compress and
may change between releases" - same for the protected methods, if
possible.

Is it enough to say so in the javadocs?  Should I move the base class to
yet another package with something like "internal" in its name in
addition to the javadocs?  How much effort is "enough" to allow future
releases breaking this part of the API?

Stefan

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


Mime
View raw message