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


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.

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

Commit messages:
 - Initial deprecation notice, starting with Inflater.getTotalIn as an example

Changes: https://git.openjdk.org/jdk/pull/17919/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17919&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8326096
  Stats: 11 lines in 1 file changed: 5 ins; 0 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/17919.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17919/head:pull/17919

PR: https://git.openjdk.org/jdk/pull/17919


More information about the core-libs-dev mailing list