RFR: 8326096: Deprecate getTotalIn, getTotalOut methods of java.util.zip.Inflater, java.util.zip.Deflater [v8]
Lance Andersen
lancea at openjdk.org
Mon Feb 26 19:45:43 UTC 2024
On Mon, 26 Feb 2024 14:29:19 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.
>
> Eirik Bjørsnøs has updated the pull request incrementally with one additional commit since the last revision:
>
> Reduce new method description text to one sentence
Sorry for the delay, but finally had a chance to take a look at your proposed wording
src/java.base/share/classes/java/util/zip/Inflater.java line 642:
> 640: * <p>
> 641: * This method returns the equivalent of {@code (int) getBytesRead()}
> 642: * and therefore cannot return the correct number of compressed bytes
This sentence to me seems a bit hard to digest and you basically get the point across in the `@deprecated` message
Perhaps add `@see getBytesRead`
-------------
PR Review: https://git.openjdk.org/jdk/pull/17919#pullrequestreview-1901832690
PR Review Comment: https://git.openjdk.org/jdk/pull/17919#discussion_r1503191920
More information about the core-libs-dev
mailing list