> Can I please get a review of this doc-only change which proposes to improve > the API documentation of `DeflaterInputStream`, `DeflaterOutputStream`, > `InflaterInputStream` and `InflaterOutputStream` classes? > > As noted in https://bugs.openjdk.org/browse/JDK-8066583 some of the > constructors of these classes allow callers to pass a `Deflater`/`Inflater` > instance. The implementation of these classes do not close the given > `Deflater`/`Inflater` when the corresponding instance of the class itself is > closed. This isn't documented and can lead to situations where callers aren't > aware that they are responsible for closing the given `Deflater`/`Inflater` > instance. That can then lead to resource leaks of resources held by the > `Deflater`/`Inflater`. > > The commit in this PR updates the relevant constructors of these classes to > add an `@implSpec` explaining the responsibility of closing the given > `Inflater`/`Deflater`. I chose the `@implSpec` since each of these classes > whose documentation is being updated are `public` and can be sub-classed and > the `close()` method overridden. The text being added merely specifies the > implementation of these classes and not the sub-classes. > > I'll draft a CSR once we agree on the proposed text.
Jaikiran Pai has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision: - additional updates to the doc - merge latest from master branch - change "@implSpec" to "@apiNote" and update their text - add class level documentation - merge latest from master branch - add tests - update DeflaterInputStream and InflaterInputStream - 8066583: DeflaterOutputStream and InflaterOutputStream should explain responsibility for freeing resources ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23655/files - new: https://git.openjdk.org/jdk/pull/23655/files/80af3b35..80323172 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23655&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23655&range=02-03 Stats: 16059 lines in 563 files changed: 4524 ins; 8759 del; 2776 mod Patch: https://git.openjdk.org/jdk/pull/23655.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23655/head:pull/23655 PR: https://git.openjdk.org/jdk/pull/23655