RFR: 8326096: Deprecate getTotalIn, getTotalOut methods of java.util.zip.Inflater, java.util.zip.Deflater

Eirik Bjørsnøs eirbjo at openjdk.org
Mon Feb 19 20:14:06 UTC 2024


On Mon, 19 Feb 2024 18:35:58 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:

> Please review this PR which proposes that we officially deprecate the following four methods in the `java.util.zip` package:
> 
> * `Inflater.getTotalIn()`
> * `Inflater.getTotalOut()`
> * `Deflater.getTotalIn()`
> * `Deflater.getTotalOut()`
> 
> Since these legacy methods return `int`, they cannot safely return the number of bytes processed without the risk of losing information  about the magnitude or even sign of the returned value.
> 
> The corresponding methods `getBytesRead()` and `getBytesWritten()` methods introduced in Java 5 return `long`, and should be used instead when obtaining this information. 
> 
> 
> Unrelated to the deprecation itself, the documentation currently does not specify what these methods are expected to return when the number of processed bytes is higher than `Integer.MAX_VALUE`. This PR aims to clarify this in the API specification.
> 
> Initally, this PR handles only `Inflater.getTotalIn()`. The other three methods will be updated once the wordsmithing for this method stabilizes.

Since these four methods are very similar, let's use `Inflater.getTotalIn()` for the initial round of review of the deprecation note and return value clarification.

Once feedback on this method converges, I'll go ahead and update the other three methods accordingly and also file a CSR for review.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17919#issuecomment-1953100167


More information about the core-libs-dev mailing list